Debian: SSH sin contraseña


Si frecuentemente nos conectamos a otro equipo vía SSH, o hemos definido un proceso que se ejecuta automáticamente y de manera desatendida, podemos valernos de este método para evitar que al realizar la conexión el sistema nos solicite la contraseña.

Nos referiremos a cliente como la maquina que se quiere conectar al servidor, sin que este último le solicite clave.

Editamos el archivo /etc/ssh/sshd_config

TERMINAL
  1. nano /etc/ssh/sshd_config

Verificamos la presencia de estas lineas:

ARCHIVO /etc/ssh/sshd_config
  1. RSAAuthentication yes
  2. PubkeyAuthentication yes

Luego verificar si en el cliente están creadas las llaves publicas RSA y DSA

TERMINAL
  1. ls ~/.ssh

En caso de estar creadas, deberíamos observar estos archivos:

id_rsa.pub
id_dsa.pub

En caso de no estar creadas, ejecutar:

TERMINAL
  1. ssh-keygen -t rsa
  2. ssh-keygen -t dsa
  3. ssh-add

Ahora la idea es copiar el contenido de los archivos id_rsa.pub e id_dsa.pub dentro del archivo ~/.ssh/authorized_keys en el servidor.

En el cliente:

TERMINAL
  1. scp ~/.ssh/id_rsa.pub usuario@servidor:.ssh/1.pub
  2. scp ~/.ssh/id_dsa.pub usuario@servidor:.ssh/2.pub

En el servidor:

TERMINAL
  1. cd .ssh/
  2. cat 1.pub >> authorized_keys
  3. cat 2.pub >> authorized_keys