viernes, 27 de agosto de 2010

Conexion SSH sin contraseña

Yo lo uso generalmente en scripts donde tengo que hacer backup de un servidor a otro mediante scp o rsync utilizando ssh como medio de transporte. El tema es que con ssh siempre tenemos que ingresar la contraseña, asique ahora explico como hacer para que los equipos se autentiquen mediante llaves RSA.

Primero revisar que en el servidor (la maquina a la que nos vamos a conectar) este habilitado el demonio ssh (sshd), y que este activada la autenticacion RSA. Esto lo hacemos revisando el siguiente archivo :
nano /etc/ssh/sshd_config

#tiene que tener las siguientes lineas
RSAAuthentication yes
PubkeyAuthentication yes

Ahora en el cliente (la maquina que se conecta al servidor), tenemos que generar la llave RSA con el comando:
ssh-keygen -t rsa


nos va a pedir contraseña, simplemente presionamos Enter. Esto va a generar 1 set de archivos en la ruta //.ssh/
id_rsa y id_rsa.pub

ahora debemos copiar los 2 archivos terminados en .pub con el siguiente comando

scp  @:.ssh/

Un ejemplo:
scp id_rsa.pub rsync@192.168.1.200:.ssh/id_rsa.pub # con este comando copio el archivo id_rsa.pub dentro de la carpeta /home/rsync/.ssh

Una vez que tenemos estos archivos dentro del home del usuario en el servidor tenemos que agregar esas llaves publicas a un archivo llamado authorized_keys con el siguiente comando
cat id_rsa.pub >> authorized_keys

Cerramos la sesion en el servidor y listo! la proxima vez que querramos entrar al servidor por ssh desde el cliente no nos va a pedir mas la contraseña (siempre que querramos entrar con el usuario que tenga las llaves autorizadas, en mi ejemplo es el usuario rsync)

No hay comentarios:

Publicar un comentario