Compartir claves SSH
Una utilidad excelente al momento de administrar varios servidores es la de compartir las claves ssh, que son archivos cifrados con que vendría a ser como una llave que puede darnos acceso a un servidor sin necesidad de pedirnos una clave, se usan también por seguridad por ejemplo para permitir solo al cliente que tenga compartido su claves ssh.
Lo primero que hay que hacer es en el servidor permitir este método de autenticación, sobra decir que deberá estar ya instalado el servicio ssh o sino aptitude install
ssh.
server:~# nano /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
Ahora generaramos las claves rsa y dsa
en el cliente
cliente@pc-cliente:~$ ssh-keygen -t rsa
cliente@pc-cliente:~$ ssh-keygen -t dsa
Mirar si se crearon
ls -hla .ssh/drwx------ 2 user user 4.0K 2010-05-30 12:03 .
drwxr-xr-x 3 user user 4.0K 2010-05-30 12:00 ..
-rw------- 1 user user 668 2010-05-30 12:03 id_dsa
-rw-r--r-- 1 user user 602 2010-05-30 12:03 id_dsa.pub
-rw------- 1 user user 1.7K 2010-05-30 12:03 id_rsa
-rw-r--r-- 1 user user 394 2010-05-30 12:03 id_rsa.pub
-rw-r--r-- 1 user user 884 2010-05-30 11:55 known_hosts
Copiar el par de claves públicas
generadas (id_dsa.pub y id_rsa.pub) a nuestro directorio ~/.ssh del
servidor.
cliente@pc-cliente:~$ scp ~/.ssh/id_dsa.pub usuario@servidor:.ssh/c_id_dsa.pub cliente@pc-cliente:~$ scp ~/.ssh/id_rsa.pub usuario@servidor:.ssh/c_id_rsa.pub
Si da el error
scp: .ssh/id_rsa.pub: No such file or directory
Es por que el directorio .ssh no
existe, simplemente crearlo en el servidor y darle permisos 700
server:~#mkdir .ssh server:~#chmod 700 .ssh
Ahora configurar para que nó pida
contraseña el servidor, esto lo hacemos tambien en el cliente
cliente@pc-cliente:~$eval `ssh-agent` cliente@pc-cliente:~$echo $SSH_AUTH_SOCK cliente@pc-cliente:~$ssh-add
Conectarse nuevamente al servidor (esta
es ya la última vez que necesitaremos teclear la contraseña :) con
nuestro usuario y volcar el contenido de las claves públicas
copiadas anteriormente al directorio ~/.ssh/ al archivo
~/.ssh/authorized_keys2 :
user@server1:~$ cd .ssh/ user@server1:~$ cat c_id_dsa.pub >> authorized_keys2 user@server1:~$ cat c_id_rsa.pub >> authorized_keys2
Podemos hasta borrar los archivos de las claves si queremos:
rm c_id_dsa.pub c_id_rsa.pub
Eso es todo nuestra pc se entenderá
con el servidor y con solo invocar ssh root@servidor
este le concederá acceso.
- blog de Tonny
- Inicie sesión o regístrese para enviar comentarios
