El escenario consiste en un equipo remoto al que queremos acceder –servidor ssh– con ip_remota y un equipo local –cliente ssh– e ip_local.

Creación de la clave pública y privada

Ejecutar la siguiente línea dentro del servidor local.

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pi/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

La localización por defecto es /home/pi/.ssh/id_rsa pero se puede modificar, también se puede añadir una contaseña –passphrase– para acceder a la clave, en el ejemplo la dejaremos en blanco con la localización y nombre por defecto.

Copia de la clave pública en servidor remoto

La clave pública tendra el nombre id_rsa.pub y la copiaremos en el servidor remoto, por ejemplo como sigue:

scp ~/.ssh/id_rsa.pub usurio_remoto@ip_remota:~/

Una vez copiada la clave pública debermos añadirla al archivo ~/.ssh/authorized_keys por ejemplo así:

ssh -t usurio_remoto@ip_remota 'cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys'

Una vez hecho esto ya podremos acceder al servidor remoto sin necesidad de contraseña.

ssh usurio_remoto@ip_remota