13 sept 2011

Linux - Login SSH sin password

En mi estancia en GEE he encontrado que los desarrolladores crean scripts para distribuir archivos a los mirrors, haciendo una especie de mirroring "charro", pero con la magia de no requerir la intervención de un admin y, además, automático.

Supongamos que deseamos usar Linux y OpenSSH para automatizar algunas tareas (cómo la mencionada arriba). Por lo tanto, necesitamos hacer login desde un host "A" con Usuario "a" hacia el host "B" con Usuario "b", y cómo estamos usando ssh desde un script no deseamos introducir el password.

Manos a la obra:

Primero debemos hacer log in en "A" y generar las llaves de autenticación. No introducir passphrase:

a@A:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/angel/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/angel/.ssh/id_rsa.
Your public key has been saved in /home/angel/.ssh/id_rsa.pub.
The key fingerprint is:
dd:1a:a1:bf:28:02:2d:d1:ac:c8:94:7d:cd:7f:a7:28 a@A
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|  oo  o   .      |
| o..o. o o o     |
|o. +.   S o .    |
|..+ .    o + .   |
|   o      = o    |
|    . .E o o     |
|     . .o .      |
+-----------------+


Ahora usaremos ssh para crear el directorio ~/.ssh como el usuario "b" en "B" (el directorio ya puede existir):

a@A:~$ ssh b@B mkdir -p .ssh
b@B's password:


Finalmente agregamos la llave pública generada en "A" a b@B:.ssh/authorized_keys e introducir el password de "b" una vez más:

a@A:~$ cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
b@B's password: 
a@A:~$


A partir de este momento podremos hacer log in en "B" como "b" desde "A" sin password.

a@A:~$ ssh b@B
Last login: Thu May 19 12:23:06 2011 from 192.168.1.33
[b@B ~]$


También funciona para hacer scp (Secure Copy)

a@A:~$ touch test
a@A:~$ scp test b@B:.
test                                          100%    0     0.0KB/s   00:00    
a@A:~$


Genial!! Nos vemos en la siguiente entrada!!!

No hay comentarios:

Publicar un comentario