Conectarte por SSH, SFTP o SCP sin password
Scripts, Ubuntu 1 Comentario »
Para realizar scripts que se ejecuten automáticamente con un cron nos puede ser muy útil hacer una conexión por ssh, sftp o scp sin contraseña ya que el hecho de que te pregunte la contraseña hace que no se puedan automatizar labores sin intervención humana.
Este artículo describe la forma de conectarse entre dos máquinas con seguridad y sin solicitar la contraseña.
Esto se hace a través de las claves RSA. Las podemos crear con el comando:
$ ssh-keygen -t rsa
Esto nos generará dos archivos, “id_rsa.pub” e” id_rsd”. Ahora hemos de copiar el contenido del archivo “id_rsa.pub” (clave pública como indica su extensión) al servidor de destino y al archivo authorized_keys dentro de ~/.ssh/.
Primero copiamos el archivo al servidor de destino con scp o sftp. Por ejemplo:
$ sftp usuarioremoto@servidordestino
(debemos introducir la contraseña por última vez)
$put id_rsa.pub
$mv id_rsa.pub .ssh/authorized_keys
(si no existe el directorio .ssh en el servidor de destino podemos crearlo)
Si el archivo “authorized_keys” existe significa que ya había otras relaciones de confianza. Entonces tendremos que añadir el contenido de id_rsa.pub al archivo existente con el comando:
$ cat id_rsa.pub >> .ssh/authorized_keys
Esto es todo. Ya podemos ejecutar comandos sin introducir la contraseña.
Para comprobar que está todo correcto puedes ejecutar:
$ ssh usuarioremoto@servidordestino uname -a
y ya no debe pedirte contraseña alguna.
Andaba hace tiempo detrás de esta manera de poder ejecutar remotamente un shutdown -h now.
En ocasiones nos es necesario encriptar un fichero para evitar que ojos ajenos puedan ver información relevante nuestra.
A veces nos es muy útil saber que tiempo ha tardado en ejecutarse un script bash desde la línea de comandos de linux.
Comentarios Recientes