Controlar Raspberry Pi mediante SSH

Controlar Raspberry Pi mediante SSH.

Que Raspberry Pi está siendo una revolución es un hecho. Pero en muchas ocasiones resulta un poco incómodo tener que conectarle una pantalla, un ratón y un teclado cada vez que queramos usarla. Por eso hoy os explico cómo configurar SSH en Raspberry Pi para poder usarla desde cualquier otro ordenador mediante un terminal o un cliente SSH.

Configurar SSH en Raspberry Pi.

El proceso es muy simple. Lo que debemos hacer es, con la Raspberry conectada a una pantalla y a un teclado y/o ratón, acceder a la configuración de Raspberry.

Controlar Raspberry Pi mediante SSH

Controlar Raspberry Pi mediante SSH

Y en la pestaña «Interfaces» marcar como «Activo» la fila de SSH. Después de hacer clic en «Aceptar» ya tendremos activado SSH en nuestra Raspberry Pi.

Lo siguiente que debemos hacer, si queremos asegurarnos que la conexión se efectúe siempre, es forzar a nuestro router a darle siempre la misma dirección IP a la raspberry.

Configurar router WiFi para que asigne siempre la misma dirección IP a un dispositivo.

Este proceso varía un poco en función del router que tengamos, así que yo os lo voy a explicar para el router cbn CH6643. Aun así, sea cual sea el router que uses, la forma de acceder a él va a ser siempre la misma.

Obtener la dirección MAC de nuestra Raspberry Pi.

Para averiguar cuál es la dirección MAC de nuestra Raspberry Pi, tenemos que abrir un terminal en la misma Raspberry Pi y, en él, escribir el siguiente comando:

ifconfig

Al ejecutarlo, veremos algo similar a esto:

eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
inet6 addr: ab12::3456:cd78:9e12:fgh3/64 Scope:Link
UP BROADCAST MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0     collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx         inet addr:192.168.1.27  Bcast:192.168.1.255  Mask:255.255.255.0  inet6 addr: ab12::3456:cd78:9e12:fgh3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:2377 errors:0 dropped:31 overruns:0 frame:0
TX packets:541 errors:0 dropped:1 overruns:0 carrier:0      collisions:0 txqueuelen:1000
RX bytes:412044 (402.3 KiB)  TX bytes:69783 (68.1 KiB)

Si no tenemos WiFi en nuestra Raspberry, el último párrafo (el que comienza con «wlan0») no aparecerá. Si este es nuestro caso, la dirección MAC de la Raspberry que debéis apuntar es la única que hay, es decir, la que aparece al final de la primera lína (la que comienza con «eth0»), que en mi caso es:

xx:xx:xx:xx:xx:xx

Sin embargo, si tienes la Raspberry conectada por WiFi, la dirección MAC es la que aparece en el último párrafo (el que comienza con «wlan0») al final de la primera línea. En mi caso:

yy:yy:yy:yy:yy:yy

Apunta tu dirección MAC en algún sitio, porque te va a hacer falta más adelante.

[ACLARACIÓN]
En mi caso, por seguridad, he cambiado mi dirección MAC real por xx:xx:xx:xx:xx:xx para "eth0" y por
yy:yy:yy:yy:yy:yy para "wlan0". En tu caso, será una combinación de números y letras del tipo:
a1:2b:c3:d4:ef:7g

Obtener la dirección IP interna de nuestro router.

Lo primero que debemos hacer es abrir un terminal o símbolo del sistema (según estés usando Mac/Linux o Windows) y escribir el siguiente comando:

Para Mac (con terminal o consola):

netstat -nr | grep '^default'

Al ejecutar este comando, veremos algo así en nuestro terminal:

default    192.168.1.1    UGSc    342    0    en1
default                      fe80::%utun0       UGcI       utun0

La dirección IP que aparece en la primera línea, justo después de la palabra «default» será la dirección IP interna de nuestro router. Esta es la que necesitaremos para acceder a la configuración. En mi caso es la 192.168.1.1, y muy posiblemente la tuya también.

Para Linux (con terminal o consola):

ip route show

Al ejecutar este comando, veremos algo así en nuestro terminal:

default via 192.168.1.1 dev wlan0  metric 303
192.168.1.0/24 dev wlan0  proto kernel  scope link  src 192.168.1.27  metric 303

La dirección IP que aparece en la primera línea, detrás de «default via», es la dirección IP interna de nuestro router. En mi caso es 192.168.1.1 y muy posiblemente la tuya también, aunque no siempre es así.

Para Windows (con símbolo del sistema):

ipconfig

Al ejecutar este comando, veremos algo así en nuestro terminal:

Adaptador de LAN inalámbrica Conexión de red inalámbrica:

Sufijo DNS específico para la conexión. . : home
Vínculo: dirección IPv6 local. . . : ab12::3456:cd78:9e12:fgh3%45
Dirección IPv4. . . . . . . . . . . . . . : 192.168.1.14
Máscara de subred . . . . . . . . . . . . : 255.255.255.0
Puerta de enlace predeterminada . . . . . : 192.168.1.1

Entre otras muchas más líneas similares. Pues la dirección IP interna de nuestro router será la que aparece en la línea de «Puerta de enlace predeterminada» del adaptador de LAN inalámbrica. En mi caso es la 192.168.1.1, y muy posiblemente en el tuyo también, pero estos valores pueden cambiar.

Configurar dirección IP fija en nuestro router.

Una vez hemos obtenido la dirección IP interna de nuestro router (en mi caso 192.168.1.1), abrimos un explorador de Internet, ya sea Mozilla Firefox, Google Chrome o (no, por favor) Internet Explorer o Microsoft Edge. En el explorador escribimos la dirección IP interna del router en la barra de direcciones, como si de una dirección web se tratara. Si en tu caso, como en el mío, tu router es un router cbn CH6643, verás algo así:

Controlar Raspberry Pi mediante SSH

Aquí hacemos clic en el botón «Ingresar» que hay arriba, y veremos una pantalla como la siguiente.

Controlar Raspberry Pi mediante SSH

Aquí escribimos el usuario y la contraseña de administración del router. Para este modelo, el usuario por defecto es «admin» y la contraseña «admin», aunque recomiendo enormemente cambiarlos, ya que si no fuera así, cualquiera que se conecte a vuestro WiFi podría cambiar la configuración de vuestro router a su antojo, llegando a ser problemático.

Controlar Raspberry Pi mediante SSH

Una vez dentro, ponemos el cursor del ratón sobre la pestaña «ROUTER» sin hacer clic. Cuando se despliegue el menú, ponemos el cursor sobre «BÁSICO» sin hacer clic y, cuando se despliegue el submenú, hacemos clic sobre «DHCP».

Controlar Raspberry Pi mediante SSH

Ahora, bajamos hasta el final de la página, donde podemos ver la lista de dispositivos que están conectados a nuestro router, sus nombres, sus direcciones MAC, las direcciones IP que tienen asignadas y el tiempo que llevan conectados. Hacemos clic en «Agregar».

Controlar Raspberry Pi mediante SSH

Y en el cuadro de texto de más a la izquierda escribimos la dirección MAC de nuestra Raspberry Pi, y en el de más a la derecha escribimos la terminación de la dirección IP que queremos que tenga nuestra Raspberry Pi. Debemos tener cuidado de no asignarle una terminación que ya esté usando otro dispositivo.

Controlar Raspberry Pi mediante SSH

Y al hacer clic en «Agregar» ya tendremos asignada una dirección IP de forma fija a nuestra Raspberry Pi.

Sin embargo, debemos tener en cuenta que esta dirección IP asignada es interna de nuestra red WiFi. Es decir, no podremos acceder por SSH a la Raspberry Pi si estamos conectados a otra red WiFi diferente o si la Raspberry Pi está conectada a otra red WiFi diferente a la que hemos usado para asignarle una dirección IP fija. Si queremos poder controlar la Raspberry Pi por SSH desde otra red WiFi diferente a la que está conectada la Raspberry Pi tendríamos que abrir puertos de nuestro router y redireccionar el tráfico hacia la Raspberry, pero eso será material para otro tutorial.

Establecer conexión SSH con la Raspberry Pi.

Ahora vamos a probar que todo ha ido bien. Para ello, vamos a conectarnos por SSH a nuestra Raspberry Pi. La forma de conectarnos va a variar si estamos manejando un sistema operativo basado en UNIX (cualquiera de Linux o cualquiera de Apple) o si estamos usando uno de los Windows de Microsoft.

Conexión SSH desde terminal (para Linux o Mac).

Para conectarnos a nuestra Raspberry Pi desde un Linux o un Mac, no tenemos más que abrir un terminal y escribir el siguiente comando:

pi@[direccionIP]

Donde [direccionIP] se corresponde con la dirección IP que hemos asignado a nuestra Raspberry antes. En mi caso el comando sería:

pi@192.168.1.27

La primera vez que te conectes, tras ejecutar el comando el terminal te mostrará un aviso y te pedirá que escribas «yes» o «no» y pulses Enter. Escribimos «yes» y pulsamos Enter.

A continuación te pedirá que escribas la contraseña del usuario «pi» de la Raspberry Pi. Si no la has cambiado, será «raspberry», aunque te recomiendo que la cambies cuanto antes para que nadie pueda conectarse a ella más que tú. Tras escribir la contraseña y pulsar Enter veremos algo similar a esto:

pi@raspberry:~$

¡Lo que nos indica que ya estamos conectados a nuestra Raspberry Pi por SSH y ya podremos manejarla desde terminal siempre que queramos!

Conexión SSH desde Putty (Windows).

Para conectarnos mediante SSH desde Windows necesitamos descargar antes un cliente SSH llamado Putty. Podemos hacerlo desde su página oficial en este enlace si tu Windows es de 32 bits y en este enlace si tu Windows es de 64 bits.

Una vez descargado no tenemos más que ejecutarlo, ya que no requiere instalación ninguna, y veremos una ventana como la siguiente:

Controlar Raspberry Pi mediante SSH

Para conectarnos a la Raspberry, escribimos en el cuadro de texto de «Host Name (or IP address)» la dirección IP que le hemos asignado a la Raspberry, y hacemos click en «Open». Entonces veremos algo así:

Controlar Raspberry Pi mediante SSH

Hacemos clic en «Sí» y entonces nos pedirá el usuario con el que iniciar sesión en la Raspberry Pi. Si no has cambiado la que viene por defecto, será «pi».

Controlar Raspberry Pi mediante SSH

A continuación nos pedirá la contraseña. Si no has cambiado la que viene por defecto, será «raspberry». Sin embargo, te recomiendo enormemente que la cambies en cuanto puedas. Si no, cualquiera podrá conectarse a ella cada vez que quieras. Al escribirla no aparecerá nada en la pantalla. No te preocupes, aunque parezca que no se está escribiendo nada, el terminal está recibiendo lo que estás escribiendo.

Controlar Raspberry Pi mediante SSH

Si tras poner el nombre de usuario y la contraseña vemos algo como

pi@raspberry:~$

¡Ya estamos conectados a nuestra Raspberry Pi por SSH y ya podremos manejarla desde terminal siempre que queramos!

¡Y nada más! Como siempre, cualquier sugerencia o consulta podéis hacérmela llegar enviando un correo electrónico a sugerencias@manusoft.es o dejando un comentario en la entrada. ¡Muchas gracias por visitar ManuSoft.es!

 

Publicado en Raspberry Pi y etiquetado , , , , , , .

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *