Maxfer
Un sysadmin cualquiera
Un sysadmin cualquiera
28 oct
Para automatizar el acceso SSH a cualquier servidor linux podemos utilizar el sistema de intercambio de claves.
Tenemos por ejemplo el usuario “user1″ de la máquina origen que se quiere conectar automáticamente (sin password) a la cuenta del usuario “user2″ de la máquina destino. El procedimiento sería el siguiente:
1 – En la máquina cliente (desde la que nos vamos a conectar) debemos crear (si no existe ya) un par de claves pública/privada desde el usuario que utilizaremos para hacer login
user1@origen$ ssh-keygen -t rsa
Durante el proceso nos preguntarán donde queremos dejar las claves (por defecto en el directorio .ssh de nuestro home) y un password para cifrar las claves (que podemos dejar vacío si queremos utilizar las claves para automatizar procesos).
Se habrán creado dos ficheros en $HOME/.ssh:
/home/user1/.ssh/id_dsa /home/user1/.ssh/id_dsa.pub
2 – En la máquina servidor (a la que nos queremos conectar) debemos copiar el contenido de la clave púbica $HOME/.ssh/id_dsa.pub de la máquina cliente en el archivo de $HOME/.ssh/authorized_keys del home del usuario que vamos a utilizar para conectarnos.
Podemos copiarlo con un scp o simplmente hacer un copy&paste desde las consolas:
user1@origen$ scp /home/user1/.ssh/id_dsa.pub user2@destino:/home/user2/.ssh/authorized_keys
3 – Hay que asegurarse que en la configuración del servidor SSH del destino está habilitado el acceso con claves:
user2@origen$ grep PubkeyAuthentication /etc/ssh/sshd_config PubkeyAuthentication yes
4 – Una vez hecho esto cuando el usuario user1 se intente conectar a la máquina destino con la cuenta user2 no se le pedirá password.