Conectarse por SSH a nuestro servidor sin contraseña

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 (:


Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

¿Eres programador/a?

En Pulpo están buscando nuevos talentos, envíales un email a developers@pulpoapp.com.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*