jueves, 13 de junio de 2013

[LINUX] Autenticación con SSH PKA, sin necesidad de escribir la contraseña

Esta información de como autenticar con ssh la saqué de una wiki de mi trabajo, que con el permiso de un compañero de trabajo (Luis González), tomé algunas cosas para transmitir esta utilidad.

"En condiciones de seguridad confirmada, es decir, que tenemos certeza y control de los equipos y del usuario que utilizamos para ingresar por medio de SSH, es posible modificar el método de autenticación con el demonio SSH. En algunos escenarios es útil basar la autenticación por medio de intercambio de llaves públicas, en inglés PKA (Public Key Authentication). Por ejemplo, para la ejecución de scripts automatizados y remotos es muy útil basar la autenticación por medio de la llave pública, de este modo se disminuye el tiempo de respuesta y la complejidad del script para interactuar con los elementos remotos."  Luis G.

Lo primero que debemos hacer es generar la llave en el equipo local y esto se puede lograr con el siguiente comando:

jonathan@xxxxxx:~$ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jonathan/.ssh/id_rsa): 
/home/jonathan/.ssh/id_rsa already exists.
Overwrite (y/n)? Y
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/jonathan/.ssh/id_rsa.
Your public key has been saved in /home/jonathan/.ssh/id_rsa.pub.

Seguidamente debemos copiar esta llave al equipo remoto puede hacerse, sobreescribiendo el archivo de authorized_keys, si no se tiene ninguna otra llave, o con el siguiente comando:

scp -P $puerto_equipo remoto ~/.ssh/id_rsa.pub jonathan@$ip_equipo_remoto:.ssh/authorized_keys

Además se deben asegurar de que las carpetas de .ssh y el archivo de authorized_keys, tenga los permisos adecuados y que existan obviamente, si no existen se crean y probablemente se deba configurar el sshd:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Ahora debería de poderse conectar mediante ssh sin necesidad de digitar la contraseña:

Si por alguna razón nos da un error con el siguiente texto: 
"Agent admitted failure to sign using the key." entonces, ejecutamos el siguiente comando:
 
ssh-add

No hay comentarios.:

Publicar un comentario