post icon

Configurar SSH y SCP para que no soliciten contraseñas

Si entraste en este post es que probablemente siempre estas conectandote a los mismos servidores y cada vez que lo haces tienes que escribir la contraseña. O quizas quierse configurar una tarea en el crontab que ejecute un comando o haga un copiado de archivos entre equipos(algo que la peticion de contraseña te impide). Bueno, aqui te mostramos la manera en la que puedes evitar la solicitud de contraseña.

Paso 1

En el servidor al que deseamos tener acceso sin contraseña ejecutamos el siguiente comando:

"ssh-keygen -b 4096 -t rsa"

y luego nos aparecera lo siguiente

Enter file in which to save the key (/home/your_user/.ssh/id_rsa): <Enter>
Enter passphrase (empty for no passphrase): <Enter>
Enter same passphrase again: <Enter>
Your identification has been saved in /home/your_user/.ssh/id_rsa.

Your public key has been saved in /home/your_user/.ssh/id_rsa.pub.

Paso 2

Copiamos el archivo de la clave publica id_rsa.pub al equipo de donde queremos acceder

Podemos hacerlo de dos formas, copiando las claves desde el servidor al equipo

ssh-copy-id usuario@equipo-ip

O tambien estirando la clave por SCP directo al equipo

scp user@servidor-ip:/home/user/.ssh/id_rsa.pub /home/your_user/.ssh/

Paso 3

Una vez contemos con la clave publica, verificamos si existe el archivo authorized_keys en la ruta en la que copiamos nuestro archivo /home/your_user/.ssh, de no existir simplemente renombramos el archivo

mv id_rsa.pub authorized_keys

Pero si existiese, no podemos nada mas sobreescribir ya que ese usuario ya tiene otros equipos de confianza,  agregamos la clave al archivo existente con la siguiente linea:

cat id_rsa.pub &gt;&gt; authorized_keys

Paso 4 (Opcional)

A veces suelen presentarse inconvenientes para acceder sin la contraseña, pese a haber realizado los pasos anteriores, de ser asi hay que activar la opción StrictModes en el fichero /etc/ssh/sshd_config. Y configurar los permisos del fichero authorized_keys que debe tener permisos 600 y el directorio .ssh que debe tener permisos 700. De no haber activado esta opción no es necesario establecer permisos especiales para esos ficheros.

Espero os haya sido de utilidad 😉
Saludos

Comentarios desde Facebook:

Sin Comentarios aun, puedes tú ser el primero en comentar!

Deja tu Comentario

Responder