Primeros pasos tras instalar Raspbian en una Raspberry Pi


En esta ocasión quiero compartirles algunas notas que tenía dispersas, porque cada vez que instalo Raspbian en una Raspberry Pi tengo que estarlas buscando y decidí que no hay mejor lugar para almacenar esas notas que aquí mismo.

Introducción

Bueno, por si no lo sabías, la Raspberry Pi (RPi) es una microcomputadora que puedes utilizar para un sinfín de usos, enfocada principalmente para el internet de las cosas, mecatrónica, si quieres programar un bot de Twitter, un bot que te compre/venda Bitcoins o utilizarla como procesador de una impresora 3D, al final la imaginación y la creatividad son el límite de su aplicación.

La RPi funciona con su propio sistema operativo basado en Linux llamado Raspbian (un fork de Debian optimizado para estas microcomputadoras) y la idea de este artículo es exponer algunas recomendaciones de lo primero que debes realizar tras flashear Raspbian en tu RPi.

¿Cómo se instala Raspbian?

  1. Bueno lo primero que necesitas es obviamente tener una RPi en cualquiera de sus sabores (ya sea la 3B+, la 4 o una Zero). No entraré en detalles sobre los tipos de RPis ni cuál es mejor porque porque no es el objetivo de este artículo.
  2. Deberás contar con una tarjeta micro SD de al menos 8 GB, de preferencia 16 GB; aunque yo siempre he preferido las de 32 GB Clase 10.
  3. Descarga la versión de Raspbian que desees instalar y aquí hay varias opciones:
    1. Si eres completamente nuevo en el entorno Raspberry, tienes una RPi normal (desde la 1 hasta la 4) y planeas usarla con una pantalla y un teclado conectado, entonces instala NOOBS. NOOBS incluye entorno gráfico y aplicaciones elementales para que puedas empezar a sacarle partido a tu RPi desde el principio.
    2. Si eres usuario intermedio, tienes una RPi normal (desde la 1 hasta la 4) y vas a usarla con alguna pantalla, teclado y mouse puedes optar por la versión Raspbian Desktop que ya no incluye las aplicaciones de novatos.
    3. Si ya eres usuario avanzado (no estarías leyendo esta guía), no necesitas un entorno gráfico y quieres instalar una versión de Raspbian con lo mínimo para su funcionamiento, entonces descarga Raspbian Lite. Esta versión es la recomendada también para la Raspberry Pi Zero (aunque no seas avanzado).
  4. Descarga Balena Etcher, la cual es una aplicación diseñada específicamente para flashear sistemas operativos en unidades de almacenamiento extraíble (en este caso la micro SD).
  5. Flashea tu Raspbian con Etcher. Solo tienes que seleccionar el archivo ZIP que descargaste del portal de Raspberry, seleccionar la microSD conectada a tu equipo y darle click en Flash! Advertencia: este proceso formateará y borrará todo el contenido que exista en la tarjeta de memoria, por lo que te sugiero respaldar la información que contenga.

Ya se instaló Raspbian, ¿ahora qué?

Si lo que pensaste fue que ahora era momento de conectarla a la RPi, pues no. Cuando termina el proceso de Etcher, tu memoria se va a desmontar, por lo que tendrás que desconectarla y volverla a insertar en tu PC. Si usas Windows, notarás que aparece un mensaje de que la memoria necesita ser formateada. Ignora por completo este mensaje y por ningún motivo le vayas a dar Formatear Unidad. Esto ocurre porque Windows no reconoce la partición que fue creada para funcionar en un entorno Linux y te quiere hacer una maldad (es algo así como querer destruir a la competencia…).

  1. Cuando abres Mi Equipo, encontrarás la micro SD con el nombre boot. Ábrela
  2. Crea un nuevo archivo de texto en blanco, llámalo ssh y borra la extensión. Esto permitirá que después te puedas conectar a tu RPi a través de la red usando una terminal de línea de comandos.
  3. Para conectarte a la WiFi por primera vez: crea otro archivo de texto en blanco y llámalo wpa_supplicant.conf
  4. Abre el archivo recién creado y copia las siguientes líneas:
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    country=MX
    
    network={
        ssid="SSID"
        psk="contraseña"
        key_mgmt=WPA-PSK
    }

    Donde dice country cámbialo por la clave de tu país a dos letras, según el código ISO de este enlace. Después inserta el nombre de tu red WiFi donde dice SSID y tu contraseña, cuidando mantener las comillas dobles ” ” en ambos casos. Salva el archivo y ciérralo.

  5.  Ahora sí estamos listos para insertar la tarjeta en tu Rpi y encenderla.

A partir de aquí explicaré como configurar la Rpi para que funcione de manera headless, es decir, sin la necesidad de usar una pantalla, un teclado y un mouse conectados a ella. En este modo puedes conectarte a través de la red local a tu RPi y manipularla mediante una terminal de línea de comandos, usando una interfaz para SSH llamada Putty (para Windows) o ConnectBot (para Android).

Si utilizas WiFi, es necesario identificar la dirección IP que le asignó el router a tu RPi, pues la vamos a necesitar para establecer la conexión. Para hacer esto, puedes ingresar a la configuración de tu router y buscarla entre los dispositivos conectados; o bien, puedes descargar Angry IP Scanner (para Windows) o Fing (para Android). La función de estas herramientas es hacer un barrido en tu red wifi para localizar a todos los dispositivos que actualmente están conectados. Te va a decir el nombre, dirección IP y dirección MAC de cada dispositivo. Obviamente tienes que estar conectado a la misma red wifi que la raspberry (la que definiste en el archivo wpa_supplicant.conf).

Modificando los primeros parámetros

Una vez que identificas la IP de tu RPi, puedes conectarte via SSH con cualquiera de las aplicaciones mencionadas. Si te pide contraseña para logearte, el nombre de usuario por defecto es pi y la contraseña es raspberry (Ojo: no se verá nada cuando tecleas la contraseña, pero si está capturando lo que escribes).

Lo primero que haremos será asegurarnos de que nuestra Rpi está actualizada y para ello ejecutaremos los siguientes comandos:

  1. sudo apt-get update Es probable que te pida que confirmes la contraseña, así que teclea nuevamente raspberry y enter. Este comando revisará que todos los repositorios de tu versión de Raspbian estén actualizados, por lo que si encuentra alguno desactualizado, te pedirá tu autorización para actualizarlos. Si esto ocurre, dile que Yes.
  2. sudo apt-get upgrade Con este comando ahora se actualizará el núcleo de Raspbian y nuevamente, si encuentra algo desactualizado, solo dile que Yes.

Mejorando la seguridad del login

Como te lo comentaba anteriormente, el nombre de usuario predeterminado es pi y la contraseña es raspberry. Esto supone un riesgo en la seguridad si vas a tener tu Rpi conectada a la red, por lo que te sugiero cambiar el login de tu raspberry. Ya sea que cambies la contraseña de pi o bien, que crees otro usuario con su contraseña y borres el usuario pi.

Para cambiar la contraseña de pi

  1. Ingresa a la configuración de la RPi con el comando: sudo raspi-config
  2. Elige Change User Password
  3. Te va a solicitar que escribas 2 veces tu nueva contraseña.
  4. Después regresarás a la pantalla de Raspi-config y listo, puedes presionar en Finish.
  5. De ahora en adelante cuando ingreses via SSH, deberás de utilizar la nueva contraseña para loguearte.

Para crear un nuevo usuario

Ahora vamos a crear un nuevo usuario para la pi, ya que al haber cambiado la contraseña del usuario pi, solamente nos hemos protegido contra el hackeo en un 50%. Lo ideal es crear un usuario diferente y asignarle una contraseña. Vamos a crear el usuario ‘niftystudio’:

  1. Desde tu línea de comandos teclea: sudo adduser niftystudio
  2. Al crear al nuevo usuario, nos pedirá su contraseña dos veces.
  3. Después te preguntará algunos detalles personales, como tu nombre completo, teléfono, habitación, etc., que son completamente opcionales y solo sirven para completar el perfil del nuevo usuario que estás creando. Puedes omitirlos presionando <Enter> cada vez que te solicite alguno y al final confirma la creación del usuario diciendole Yes o Y.
  4. Hasta aquí, ya hemos creado al nuevo usuario pero seguimos dentro del usuario pi. Para cambiarte de usuario teclea: su niftystudio. Te pedirá la contraseña y notarás como el prompt de la linea de comandos cambia de pi@raspberrypi a niftystudio@raspberrypi

Asignando privilegios de administrador a un usuario

Si has notado que cada comando va precedido de un sudo, es porque estamos diciendo “Super User Do”, es decir “Super Usuario Haz esto…”. En Linux, existen diferentes tipos de usuarios: los que tienen privilegios de administrador y los que no. Actualmente, solo el usuario pi tiene privilegios y el usuario que recién creamos no los tiene. Para cambiar esto, tendremos que asignar a nuestro usuario niftystudio dentro del grupo de sudoers.

  1. Si estás en la cuenta del usuario que recién creamos, vamos a regresarnos al usuario pi con el comando exit.
  2. Teclea el comando sudo visudo Esto abrirá un editor de texto nano y deberás desplazarte hasta la última línea y teclear lo siguiente:
    #includedir /etc/sudoers.d
    niftystudio ALL=(ALL) NOPASSWD: ALL

    No olvides que tienes que cambiar “niftystudio” por el nombre de usuario que creaste.

  3. Salva los cambios presionando CTRL + O, despues <Enter> y finalmente CTRL + X para salir del editor de texto.
  4. Para verificar que los cambios surtieron efecto, vamos a cambiarnos de vuelta al usuario creado y hacer una solicitud sudo:
    su niftystudio
    sudo apt-get update

Si al ejecutar el comando, comienza a hacer la verificación de actualizaciones entonces podemos confirmar que ya eres un Super Usuario, por lo que ya no necesitaremos la cuenta pi. Podrás pensar que ahora la vamos a borrar, pero como todo el sistema se instaló usando esta cuenta, lo ideal será simplemente bloquearla para que no puedan ingresar a la Rpi con este usuario. Para ello utilizaremos el comando “usermod” y el comando -L (con mayúscula) que sirve para bloquear (Lock).

sudo usermod -L pi

Si en algún momento necesitamos utilizar la cuenta pi, la podremos desbloquear con -U de “unlock” con el siguiente comando:

sudo usermod -U pi

Ahora que si lo que tú deseas es borrar por completo la cuenta pi y su carpeta /home, lo harías con el comando “deluser” :

sudo deluser -r pi

Configurando los parámetros de conexión a la red

Desactivar el modo de ahorro de energía del WiFi

Una de las particularidades que más me desagradan de las Rpis es que traen por default una configuración de ahorro de energía en la conexión Wifi, la cual puede provocar que se pierda la conexión después de un lapso de tiempo de inactividad. En un artículo anterior ya les había explicado como desactivar este modo de ahorro de energía, sin embargo, esa solución es temporal ya que tienes que estarla ejecutando cada vez que se reinicia el sistema. Para solventar esto, vamos a agregar ese comando dentro del proceso de arranque, de tal forma que siempre se inicie el sistema con el ahorro de energía desactivado:

Antes de hacer los cambios, vamos a verificar el estatus actual del power management con el comando:

sudo iwconfig wlan0
El ahorro de energía de wifi está activado porque dice: Power Management: On

Entonces vamos a modificar esto:

sudo nano /etc/rc.local

Esto abrirá un editor de texto, en el que deberemos de insertar la siguiente línea de código, justo antes de donde dice “Exit 0”. Aquí te lo pongo como ejemplo, pero evita repetir el exit 0.

iwconfig wlan0 power off
exit 0

Salva los cambios presionando CTRL + O, despues <Enter> y finalmente CTRL + X para salir del editor de texto. Este comando se ejecuta cada vez que se inicia el sistema, así que vamos a reiniciar la Rpi y verificar si se ejecutó correctamente:

sudo reboot
Ya se reinició la RPi y ahora el Power Management se muestra como off desde el arranque.

Asignar una IP estática

Brevemente, recordemos que dentro de cada red un dispositivo queda identificado por una IP única en esa red. A través de la dirección IP podemos conectarnos con nuestro dispositivo de forma sencilla.

Esta IP puede ser:

  • Dinámica, puede cambiar cada vez que reiniciamos el dispositivo.
  • Estática, se mantiene fija entre reinicios.

En muchos casos nuestros dispositivos se conectan a la red local mediante una IP asignada dinámicamente proporcionada por el DHCP (Dynamic Host Configuration Protocol). En este caso nuestro router hace de servidor DHCP y nos asigna una dirección IP dentro de un rango de direcciones.

Las direcciones IP dinámicas por DHCP tienen la ventaja de darnos la libertad de no tener que configurar los dispositivos, ni asegurarnos de que cada uno tenga una IP distinta. Simplemente, enciendes tu ordenador, portátil, tu móvil, tu (…lo que sea…) y el router les va asignando IP sin que tú te preocupes por nada.

Sin embargo, lo ideal sería que cada vez que necesitemos conectarnos a nuestra RPi lo hagamos a través de la misma dirección y no tener que estar escaneando la red para saber ahora cuál IP se le asignó por el router. Entonces necesitamos configurar la RPi para que cada vez que se quiera conectar a la red, ésta “le solicite al router una IP en específico” y como el router generalmente está configurado para trabajar en modo DHCP, no tendrá problemas en asignarle la IP solicitada, a menos de que ya se la haya asignado a otro dispositivo, pero eso es poco probable en una red pequeña (aunque puede pasar).

Para configurar la IP estática, deberemos modificar el archivo /etc/dhcpcd.conf con el comando:

sudo nano /etc/dhcpcd.conf

Se abrirá el editor de texto y encontraremos unas líneas de ejemplo para la configuración de una IP estática, que serán parecidas a lo siguiente:

# Example static IP configuration:
#interface eth0
#static ip_address=192.168.0.10/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
#static routers=192.168.0.1
#static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1

Si quieres evitar tener que copiar todo el texto, puedes borrar los signos # para activar esas líneas y modificarlas sobre la marcha.

Para asignar la IP estática, ya sea en wifi o ethernet, deberemos especificar para cuál interfaz deseamos hacerlo. Si es para wifi, entonces en interface teclea wlan0; si es para ethernet, entonces coloca eth0

interface wlan0
static ip_address=192.168.1.200/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

Aquí ojo con lo siguiente:

  • static ip_address = Se refiere a la dirección estática que queremos y deberás colocar el /24 al final. En mi caso estoy solicitando que mi IP estática sea la 192.168.1.200
  • static routers = Se refiere a la dirección gateway (la del router).
  • static domain_name_servers = Se refiere al servidor DNS del router y se pueden agregar adicionales separados por espacios.

Salva los cambios presionando CTRL + O, despues <Enter> y finalmente CTRL + X para salir del editor de texto.

Ahora vamos a reiniciar la Rpi e intentar conectarnos por SSH a la IP estática que asignamos. Si lo hiciste bien, la conexión se reestablecerá, pero si no, entonces tendremos que hacer otro escaneo de red para ver cual IP se le asignó tras el reinicio.

sudo reboot

En caso de que no se haya podido asignar la IP solicitada, deberás de entrar a la configuración de tu router y verificar a quién le está asignando esa IP y desconectarlo. Para forzar al router a que nos asigne la IP que queremos, deberás de entrar al panel de configuración de tu router y asignar la IP estática manualmente por medio de la dirección MAC de tu RPi. De esta manera, cada vez que tu RPi solicite una conexión al router, lo identificará por medio de su dirección MAC y le dará la IP asignada, incluso antes de que la misma RPi se lo solicite. Para conocer la dirección MAC de tu RPi, ejecuta el siguiente comando:

ifconfig wlan0

Podrás identificar la dirección MAC donde dice ether y consisten de 6 valores hexadecimales separados por el signo de dos puntos “:”

La MAC de mi Rpi es b8:27:eb:ff:9a:36

Hasta aquí considero que son los parámetros básicos que se deben de tomar en cuenta en una instalación nueva de Raspbian. ¿Qué te parece? Si crees que me faltó alguno, puedes sugerirlo en los comentarios y con gusto actualizamos el post.

Compártelo:

Dejar un comentario