Si queremos conectarnos a nuestro servidor o conectar dos servidores remotos sin tener que teclear cada vez la contraseña podemos hacerlo compartiendo la clave pública.
A partir de ahora llamaremos al servidor que quiere conectarse al otro «SERVIDOR 1» y al que nos conectamos «SERVIDOR 2«.
El SERVIDOR 1 generará las claves y las compartirá con los servidores a los que se quiere conectar sin introducir la contraseña cada vez. (solo escribiendo «ssh nombredeusuario@direccion_del_servidor»)
¡Vamos pues!
Situados en SERVIDOR 1 introducimos el siguiente comando para generar las claves, la pública y la privada.
ssh-keygen -t rsa -b 4096
En las siguientes preguntas podemos simplemente presionar «enter» o rellenarlo a nuestro gusto.
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
Una vez la claves creadas la copiaremos mediante scp al servidor donde queremos conectarse (SERVIDOR 2)
scp ~/.ssh/id_rsa.pub usuario@:clave_compartida.pub
El archivo se ubicará en la raíz del usuario al que nos conectamos, en el caso que el usuario fuese «kikebe» el archivo estaría en «/home/kikebe/clave_compartida.pub»
Accedemos a SERVIDOR 2:
ssh nombredeusuario@direccion_del_servidor
Nada más acceder, tecleando ls podremos ver el archivo clave_compartida.pub que acabamos de subir.
Ahora, deberemos crear (si no existe) la carpeta «.ssh» y el archivo «authorized_keys«. (Que se ubicarán en nuestro directorio de usuario, siguiendo el ejemplo del usuario «kikebe» sería «/home/kikebe/.ssh«)
Creamos la carpeta .ssh:
mkdir .ssh
Le damos los permisos correspondientes:
chmod 700 .ssh
Creamos el archivo authorized_keys:
touch .ssh/authorized_keys
Le damos los permisos pertinentes:
chmod 600 .ssh/authorized_keys
Ahora copiamos el contenido del archivo en el archivo en nuestro archivo de calves autorizadas «authorized_keys»
echo `cat ~/clave_compartida.pub` >> ~/.ssh/authorized_keys
Y ahora, borramos el archivo de clave pública:
rm /home/user/clave_compartida.pub
Y listo, desde el SERVIDOR 1 escribimos:
ssh nombredeusuario@direccion_del_servidor
Y accederemos al SERVIDOR 2 sin que nos pida los credenciales.
Espero que os sirva de ayuda (: