Imaginemos que queremos conectar desde un servidor A, usando el usuario «user», con otro servidor B, por ssh, pero sin tener que estar introduciendo el password a cada nueva conexión (por ejemplo, si queremos poder conectar automáticamente por ssh por necesidades de un script en un cron). En este caso, podremos seguir el proceso descrito a continuación:
- En el servidor A, si «user» no tiene ya una clave ssh creada (se podrá ver si existe en $HOME/.ssh/ un archivo .pub), se podrá generar dicha clave, estando logueados con el usuario «user», ejecutando:
ssh-keygen -t dsa
- Una vez creada la clave ssh, deberemos ir al servidor B y crear un usuario «user» (en este caso querremos conectar desde A, a user@B). Podemos usar «useradd user» y posteriormente «passwd user» para crear al usuario.
- Ahora desde A, podremos conectar con B mediante:
ssh user@B
- De nuevo desde A, podremos copiar la clave pública de user (de A) a la home del usuario user (de B) con el comando:
ssh-copy-id -i ~/.ssh/id_dsa.pub user@B
- Desde este momento, ya se podrá conectar desde A a user@B sin necesidad de introducir el password del usuario «user» en el servidor B.
Fuentes:
- http://nereida.deioc.ull.es/~pp2/perlexamples/node28.html#SECTION03413030000000000000
- http://pkeck.myweb.uga.edu/ssh/