1.- En el servidor origen ejecutar la siguiente línea de comandos en la shell (no introducir passphrase) :
origen# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/a/.ssh/id_rsa):
Created directory '/home/a/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/a/.ssh/id_rsa.
Your public key has been saved in /home/a/.ssh/id_rsa.pub.
The key fingerprint is:
3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 a@A
Con este comando creamos las llaves publica y privada de autenticación.
2.- En el servidor de destino, creamos, en caso de que no exista, la carpeta ~/.ssh
destino# mkdir ~/.ssh
3.- Finalmente, introducimos la llave pública del servidor origen en el fichero de llaves autorizadas del servidor destino. El siguiente comando añade nuestra llave pública en el final del fichero authorized_keys del servidor destino:
origen# cat .ssh/id_rsa.pub | ssh usuario@servidordestino ';cat >> .ssh/authorized_keys'
Nota: En este comando nos pedirá la clave al ejecutar un SSH, no obstante, será la última vez pues después ya estará la llave dentro de .ssh/authorized_keys
4) Ya podemos acceder vía ssh sin clave:
origen# ssh usuario@servidordestino
Es algo tremendamente útil para la administración de servidores Linux, sobre todo cuando el número de ellos es amplio.