Configurar conexiones SSH sin contraseña

Conectar a un servidor remoto desde nuestro equipo vía SSH es una situación típica, como también resulta típico que nos cansemos de introducir la contraseña de acceso una y otra vez. Para ahorrarnos este paso y acceder solamente con un: ssh usuario@servidor.net, tenemos que, en primer lugar, generar un par de llaves RSA con las cuales verificaremos en el servidor remoto que somos nosotros (por tanto, es importante tener cuidado con estas llaves) cada que iniciemos la conexión SSH.

[MiMaquina] $ ssh-keygen  -t rsa -N ''
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
00:00:11:aa:42:aa:aa:81:1b:20:c8 user@MiMaquina
The key's randomart image is:
+--[ RSA 2048]----+
|        ....     |
| . . . + ...     |
|      . O        |
|     . - * -     |
|   ...T A =      |
|     o +   .     |
|      .          |
|         .       |
|       .         |
+-----------------+
[MiMaquina] $ ssh-copy-id usuario@servidor.remoto.com #copia la llave que generamos en el archivo de acceso del servidor remoto, tendremos que poner el user y pass del serv remoto

Y Listo, Solo tendremos que escribir un:

$ ssh usuario@servidor.remoto.com

Y no nos volverá a pedir la contraseña.

[Actualización]

A base de sufrir mucho con las conexiones ssh dejo un breve compendio de como hacer lo anterior de diversas maneras

Si el servidor solo hace conexiones por medio de una llave (AWS EC2) entonces, una vez generado el id_rsa.pub se usa

$ ssh-copy-id -i ~/identifyfile.pem usuario@servidor.remoto.com

Otra forma de hacelos es

$ scp -i ~/identityfile.pem ~/.ssh/is_rsa.pub usuario@servidor.remoto.com:/tmp/
######## nos conectamos al servidor remoto normalmente
servidor.remoto.com:~$ cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

A veces puede pasar que nos tire un error del tipo

$ ssh usuario@servidorremoto.com #accedemos sin contraseña ni certificado
Agent admitted failure to sign using the key.
Permission denied (publickey)

Para resolverlo, desde el host donde nos queremos conectar usamos:

$ ssh-add

Vía:
http://blog.desdelinux.net/ssh-sin-password-solo-3-pasos/
http://lgallardo.com/2012/02/13/conexion-ssh-sin-contrasenas/

http://www.lapipaplena.net/foro/index.php?topic=60.0

http://www.debian.org/devel/passwordlessssh.es.html

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s