Acceder por SSH sin utilizar la contraseña

Acceder por SSH sin utilizar la contraseña

Estos días me he visto en la necesidad de copiar archivos entre diferentes máquinas y he tenido que crear scripts para automatizar las tareas. Me he topado con un problema con el que no me había encontrado antes, y es que el comando scp pide al usuario que teclee la contraseña. ¿Cómo voy a programar una copia si no estoy delante del ordenador para introducir la contraseña?

En esta entrada voy a explicar cómo acceder a un servidor por SSH sin utilizar la contraseña. En su lugar, utilizaremos un par de claves pública y privada con el que nos identificaremos ante el servidor al que queremos conectarnos.

En primer lugar, generamos nuestras claves:

Dejamos la contraseña en blanco. El programa generará una clave privada (que guardaremos en nuestra máquina) y una pública que daremos a diestro y siniestro. Estas claves se crean por defecto en la carpeta ~/.ssh.

Ahora hay que añadir nuestra clave pública al archivo authorized_keys del servidor remoto, que se encuentra también en la carpeta ~/.ssh del usuario que vamos a utilizar.

Listo, si ahora accedemos de nuevo ya no nos volverá a pedir la contraseña.