Llaves ssh = acceso automático sin poner contraseña
Publicado por Pedro en Octubre 22, 2007
Hace un tiempo tuve que administrar unas 30 máquinas simultáneamente para un concurso de programación de la comunidad de madrid. En ese momento tomé conciencia de lo útiles que resultan las llaves ssh.
¿Qué son?
Pues en resumen lo que conseguimos es que tras 3 comandos conseguimos acceder a un ordenador por ssh sin tener que poner la contraseña, consiguiendo de ese modo poder ejecutar scripts que usen ssh para lanzar aplicaciones, copiar archivos …
Al tajo:
- ssh-keygen -t dsa
- scp ~/.ssh/id_dsa.pub HOST_DESTINO:.ssh/authorized_keys2
- ssh-agent sh -c ’ssh-add < /dev/null && bash’
- ssh HOST_DESTINO
1) ssh-keygen se usa para generar claves privadas y sus correspondientes publicas de 1024 bits de longitud. En este caso una clave DSA para el protocolo SSH versión 2.
En el momento que te ponga:
Enter passphrase (empty for no passphrase): Enter same passphrase again:
No pongas passphrase , pulsa enter2 veces.
2) Introducimos la clave sin encriptar (no hemos puesto passphrase) en el fichero authorized_keys2 del host destino.
3) Usamos ssh-agent para crear una sesión autenticada automáticamente.
4) Hacemos un acceso ssh para comprobar que todo va bien.
chernando escribió
Hay un atajo bastante cómodo para copiar las llaves de una máquina a otra: ssh-copy-id
/usr/bin/ssh-copy-id [-i [identity_file]] [user@]machine
La principal ventaja es que ajusta los permisos correctos para acceder.
xosel escribió
en el paso 2 tengo que instroducir cualquier palabraclave?
lo he intentado conuna clave y despues vacíoy me saca de la conexión..
dice Permission Denied
:S:S
ayuda donde se configura la contraseña??
o que contraseña debo introducir al intentar entrar a un servidor ssh en ubuntu desde xp con putty??
Pedro escribió
Si no pones ninguna, y le das a enter, cuando hagas ssh HOST_DESTINO te conectarás sin tener que meter ninguna contraseña.
Si pones alguna contraseña al hacer ssh HOST_DESTINO tienes que meter esa contraseña.
Esto es util para usar la misma contraseña para conectarte a varias maquinas diferentes. Aunque tambien es bastante inseguro.
Saludos.