Conexiones con SSH sin contraseña desde Linux

Introducción.

Otra cosa interesante que se puede hacer con OpenSSH es establecer conexiones seguras sin necesidad de contraseñas, esto gracias al establecimiento de un par (pública/privada) de llaves RSA.  La seguridad permanece en la passphrase (opcional) de la llave y en la seguridad que se le de a su archivo.

A continuación se relacionan los pasos para establecer una relación de confianza sin contraseña para un usuario entre dos equipos a través de SSH.

Procedimiento.

En el equipo local se crea el par de llaves: pública y privada.  Si ud. ya cuenta con las llaves, puede obviar este paso.

$ ssh-keygen -t rsa

La ejecución de este comando solicita tres respuestas: la ubicación de la llave, el passphrase (*) y su confirmación.  Para las tres preguntas presione Enter, es decir, su respuesta será vacía.

Generadas las llaves se procede a copiar la llave pública al servidor.

$ scp ~/.ssh/id_rsa.pub usuario@servidor:~/

Se accede al servidor para realizar unos ajustes finales.

$ ssh usuario@servidor

Se agrega la llave pública recién generada a las autorizadas para la cuenta.  Finalmente el archivo de la llave pública se remueve.

$ mkdir ~/.ssh
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
$ rm id_rsa.pub

Opcionalmente es aconsejable verificar los permisos de las llaves autorizadas ya que de esto depende de aquí en adelante la seguridad.

$ chmod go-w ~
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

Realizar un nuevo acceso a la cuenta a través de SSH, ya no deberá ser necesario la utilización de la contraseña.

$ ssh usuario@servidor

Asignación de una passphrase (*).

Es posible aumentar un poco mas el nivel de seguridad del manejo de las llaves encriptándolas con una contraseña.  La desventaja es que esta contraseña será solicitada cuando se desee establecer la conexión SSH, pero sólo se solicitará en el momento de la primera conexión, es decir, las siguientes conexiones SSH de la sesión,  se establecerán autenticándose automáticamente mediante la llave previamente establecida.

Para incluír esta contraseña, especifique su valor y confirmación durante el proceso de creación de la llave con ssh-keygen al inicio del procedimiento anterior.

Enlaces.

5 thoughts on “Conexiones con SSH sin contraseña desde Linux”

  1. Excelente tutorial, de verdad muchas gracias pues me aclaro algunas dudas que tenia de otros tutoriales.

Leave a Reply

Your email address will not be published. Required fields are marked *