Cómo conectar por ssh sin password
El SSH es un protocolo de conexión segura por terminal entre dos máquinas con el demonio o servicio ssh activo almenos en una de ellas. El daemon SSH funciona escuchando peticiones en el puerto 22, y aunque las tecnologías en cierta manera han avanzado mucho, este protocolo sigue siendo bastante seguro, eficaz y en ocasiones requerimos de su uso para efectuar conexiónes a nuestro server por diferentes motivos.
Las conexiones SSH pueden ser:
- SSH SERVIDOR (sshd) – SSH CLIENTE (ssh)
- SSH SERVIDOR (sshd) – SSH SERVIDOR (sshd)
Imaginemos que tenemos una máquina 1 con la IP 192.168.1.20 y la máquina 2 con la IP 192.168.1.50, nuestro objetivo es que la máquina numero 1 pueda conectar cuando quiera con la máquina 2 sin necesidad de introducir el password (por ejemplo para crear scripts con comandos SSH y ejecutarlos en el CRON de forma programada, para backups o cualquier acción similar).
- Estamos en la máquina 1: 192.168.1.20
Entramos en la máquina 1 y en su terminal ejecutamos:
ssh-keygen -b 4096 -t rsa
Con este comando estamos generando la pareja de keys RSA pública y privada, con las cuales verificaremos en el servidor remoto que somos nosotros.
- Ahora copiamos y enviamos esta llave pública a la máquina 2, ejecutando este comando dentro de la misma terminal en la que estábamos (root o el usuario que sea, y la IP de la máquina que queremos acceder):
ssh-copy-id root@192.168.1.50
A continuación nos pedirá el password de la máquina 2 (192.168.1.50), y con esto queda creada la relacción de confianza entre ambas máquinas.
- Ahora podemos conectarnos siempre que queramos sin necesidad de introducir el password:
ssh root@192.168.1.50
Con esta configuración podremos crear scripts con comandos SSH anidados con MYSQL, SCP u otros. De esta manera y programándolos en el CRON de la máquina tendremos un campo abierto a nuestra imaginación: Copias de base de datos, Copias de directorios FTP…y cientos de ideas más.
Espero que este artículo os sirva de ayuda,
Un saludo,
Óscar / Devservice.es