martes, 15 de septiembre de 2015

ACCESO SSH A RASPBERRY PI


"SSH (Secure SHell, en español: intérprete de órdenes segura) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos ejecutando un Servidor X (en sistemas Unix y Windows)."

Acceder a nuestra Raspberry de manera remota es una solución cómoda para administrarla de manera segura.
SSH usa técnicas de cifrado que hacen que la información de la comunicación entre emisor y receptor sea ilegible, con lo que evitamos que terceras personas puedan extraer datos comprometidos (contraseñas, comandos,...).

Nuestra Raspberry tiene instalada de fábrica  el servidor y el cliente Openssh. Lo podemos comprobar accediendo a la configuración del dispositivo mediante:

$sudo raspi-config

En opciones avanzadas>ssh podemos activar o desactivar  el servicio.


















Si tenemos instalado el paquete "chkconfig" también podemos ver si este servicio está operativo:

$ sudo chkconfig | grep ssh

Una vez activado, cualquier usuario del sistema puede ya conectarse via ssh. Podemos acceder a nuestra Raspberry mediante cualquier cliente ssh (como por ejemplo putty).
Solo tendremos que introducir nuestra ip o nombre del dispositivo y el puerto correspondiente (por defecto el protocolo ssh utiliza el puerto 22):



















Sin embargo, al acceder de manera remota comprometemos de manera directa nuestra seguridad. Por ello, hay que tener en cuenta ciertos aspectos que deberemos analizar:

- ¿Qué usuarios pueden conectarse a la Raspberry?.
- ¿Desde que ips puede escuchar nuestro servidor?.
- ¿Podemos evitar ataques de fuerza bruta?.

Para solucionar estas cuestiones, debemos configurar ciertos parametros dentro del archivo de configuración del servicio ssh. 

Abrimos el archivo con el editor nano:

$ sudo /etc/ssh/sshd_config

 Nos detendremos en los siguientes parámetros:


Port 7070   # es el puerto por donde escucha el servidor.
ListenAddress 192.168.0.122 # ips de escucha de peticiones
PermitRootLogin no   # acceso del usuario root
AllowUsers  pepe   # Usuarios que podran conectarse
LoginGraceTime 30 # Tiempo de autenticación en segundos

Observamos como hemos cambiado:

-El puerto de escucha del 22 al 7070.
-La restricción de ips que se pueden conectar a una sola.
-La prohibición para que el usuario root no pueda loguearse.
-La restricción de usuarios que pueden conectarse a uno solo (pepe).
-El tiempo a 30 segundos después de que una solicitud de conexión al servidor espere antes de desconectar si el usuario no ha iniciado sesión correctamente. 

Configura los parámetros a tu gusto y si alguno no está incluido añadelo.

Con ésto la comunicación con el servidor ssh Raspberry será más segura. Si quieres acceder desde fuera de tu Lan tendrás que abrir el puerto que hayas elegido (por defecto puerto 22) para el servidor SSH  en tu router.

Un saludo.

No hay comentarios:

Publicar un comentario