Conexión a SSH sin escribir el password

15 Sep, 2008 Publicado por

Esto es útil cuando queremos automatizar una tarea que implica una conexión via SSH con otra máquina, por ejemplo en una tarea periódica.

Para estos casos podemos usar una autenticación basada en clave pública y clave privada en vez de la validación mediante password.

Los pasos para configurar OpenSSH (que viene con cualquier distribución Linux) son los siguientes:

  1. Debemos configurar el SERVIDOR SSH para aceptar logins mediante clave privada. Comprueba que en ‘/etc/ssh/sshd_config’ aparece una linea que contiene ‘PubkeyAuthentication yes’ (y que no está comentada, es decir no va precedida de un #). Si modificas este fichero deberás reiniciar el servicio ‘sshd’: ‘/etc/init.d/sshd restart’.
  2. En la máquina CLIENTE (ojo, no en el SERVIDOR) debemos crear un par de claves mediante el comando: ‘sshkeygen -t rsa’, acepta la ubicación que propone y no especifiques un password.
  3. Abre el fichero ‘id_rsa.pub’ que acabas de crear, contiene una larga linea de texto, y copia el contenido al final del archivo ‘$HOME/.ssh/authorized_keys’ en el SERVIDOR. Si no existe créalo.

Ahora deberías poder acceder via SSH con el usuario que has usado en la máquina cliente sin necesidad de teclear tu password. Esto puede provocar un agujero de seguridad para la máquina SERVIDOR si alguien consigue acceder a la cuenta de usuario de la máquina CLIENTE, ya que no necesitará ningún password para poder acceder a ella.

Si en algún momento sospechas que alguien tiene una copia de tu fichero ‘id_rsa’, puedes borrar la linea que añadiste al fichero ‘authorized_keys’ en el SERVIDOR para desactivar la clave.

0 Comments

Deja una respuesta