20101117

login ssh sin clave

Es muy común preguntarse como hacer para conectarnos de forma automática a equipos remotos para por ejemplo correr procesos.
O simplemente cómo hacer para entrar a otro equipo desde el nuestro sin tener que poner la clave continuamente. Normalmente uno hace lo siguiente para hacer esta conexión:
usuarioA@diego:~$ ssh usuarioB@servidor
usuarioB@servidor's password:  
Luego ingresamos la clave de usuarioB.  Si tenemos que hacer esto todo el tiempo llega un momento que es bastante tedioso, y peor si tenemos que conectarnos a muchos equipos todos con diferentes claves.

Para solucionar esto, primero tenemos que crear un par de claves en nuestro equipo (o desde donde nos queremos conectar) de la siguiente forma (mi sistema operativo es Ubuntu 10.10):

usuarioA@diego:~> ssh-keygen -t rsa

Si no queremos que nos pida una clave cuando nos conectemos simplemente presionar Enter (esto es muy útil para hacer scripts luego). Esto genera una clave pública y una privada en el directorio ~/.ssh

Luego tenemos que copiar la clave publica al equipo al que queremos conectarnos, en este caso el equipo se llama "servidor" con el usuario "usuarioB". Primero tenemos que crear la carpeta ~/.ssh en servidor:
usuarioA@diego:~> ssh usuarioB@servidor mkdir -p .ssh 
usuarioB@servidor's password: 
Luego hay que agregar nuestra clave publica al  .ssh/authorized_keys de servidor :

usuarioA@diego:~> cat .ssh/id_rsa.pub | ssh usuarioB@servidor 'cat >> .ssh/authorized_keys'
usuarioB@servidor's password: 
Ahora nos podemos conectar directamente sin ingresar la clave

usuarioA@diego:~$ ssh usuarioB@servidor
usuarioB@servidor:~$

No hay comentarios.:

Publicar un comentario