
Esta es una de aquellas cosas que uno hace una y otra vez y al final pierde 10 minutos intentando recordar los comandos o buscando la información.
Para conectar a un servidor remoto por SSH sin usuario ni contraseña todo lo que hace falta es compartir una clave entre cliente y servidor. Los pasos son "mu" sencillos:
- Asegurarse que la carpeta .ssh existe en el servidor al que nos queremos conectar
- Crear una clave RSA pública en la máquina cliente (la que se conecta):
ssh-keygen -t rsa
Cuando se te pida por un password, dale al enter sin poner ninguno (este es el propósito del artículo, sin passwords) - Copiar la clave pública en el servidor:
scp ~/.ssh/id_rsa.pub usuario@servidor.com:.ssh/authorized_keys2
Puedes omitir la parteusuario@si te conectas con el mismo usuario.
Y esto es todo amigos. En la siguiente conexión por SSH ya no se pedirá de nuevo el password.
Importante:
A partir de este momento, si alguien robara la clave pública que has guardado en ~/.ssh/id_rsa tendría acceso completo a tu servidor. Más vale que la protejas bien :)
Si dejas un password en la autenticación RSA puede ser una buena idea desactivar en el servidor el acceso SSH vía login/password y dejar sólo autenticación por clave.




Si hace ya mucho tiempo

