jueves, 16 de octubre de 2008

Login SSH sin password

Como configurar SSH para acceder "sin password" de forma rápida y sencilla.
Esto puede prestarse a discusion, que es mas seguro?, si escribir el password cada vez que nos conectamos por ssh o no. Bueno cada uno lo piensa y luego actua, yo me guardo mi opinion.
La situacion es la siguiente, en el origen y en el destino tenemos el usuario Beagle con el mismo password en ambos lados, entonces vamos a generar las llaves publicas y privadas con lo que nos aseguraremos que realmente es desde mi pc y al destino al que nos estamos conectando.

Descomentar primero esta linea del archivo /etc/ssh/sshd_config del destino
#AuthorizedKeysFile %h/.ssh/authorized_keys

y reiniciar el servicio
# /etc/init.d/ssh restart

1) En el origen ejecutar la siguiente línea de comandos en la shell (no introducir passphrase) :

origen:/home/beagle# ssh-keygen -t rsa

Le damos ENTER a todas las opciones, con este comando creamos las llaves publica y privada de autenticación.

2) En el destino, creamos, en caso de que no exista, la carpeta ~/.ssh

destino:/home/beagle# mkdir .ssh/
destino:/home/beagle# touch .ssh/authorized_keys

3) Finalmente, introducimos la llave pública del origen en el fichero de llaves autorizadas del destino, si no lo pueden hacer porque les dice que el archivo es de solo lectura, detengan ssh , agregen la llave y luego restarteen ssh

origen:/home/beagle# cat .ssh/id_rsa.pub

ssh-rsa CCCAB3NzaC1yc2EAAAABIwAAAQEAog102xUyos+PDRZzX2XzvUnHWlTZKfmW/vrGhaTGWy6kfHrAHtAmdQSHO68V3G7Fi389p6HqtUTCa1mN/9QQWfN5XsD9yRMhawr/GMMqP2aWLIhEJJmPg3W8el32VZ6C1hvWOwAkW5nrCgQivaI6Q7e6jYtYodZ2x+yPxmjBWA2yJLlUeaTe51OVOl0L3eZs/Og7uIWBObpsDiNoy2NJlKz+FIjudTELm4fTJVdWlIQVvxUV8g49XOmDzKyGY9k04jclRmMlYIy374ev0U5th0SiC5d7mXsv1bQ23ovONz67LZeHwN1YbzIWsnDEzocmx0XVTG2QYzDCszJaudWu/w== beagle@slackware

El codigo que les muestra lo deben agregar en el destino en .ssh/authorized_keys
destino:/home/beagle# vim .ssh/authorized_keys

4) Ya podemos acceder vía ssh sin clave:

origen:/home/beagle# ssh ipdestino

Con esto ya podremos conectarnos sin necesidad de poner la contraseña.
Como en los dos servidores tengo el mismo usuario solo hago ssh destino, sino tendria que hacer ssh usuario@destino.

No hay comentarios: