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