0. Introducción
Quiero hacer unas copias de ficheros de forma desatendida desde un servidor remoto.
Para ello se ha pensado en ssh. Pero cada vez que conectamnos nos pide que introduzcamos a mano una contraseña, con lo que la opción de realizar-lo en un CRON-TAB queda descartada.
1. Opcion 1: sshpass
Se instala este programa y se simula que se introduce la contraseña. Ver serverfault
$ sudo apt-get install sshpass $ sshpass -p your_Password12345 ssh user@hostname
No se hasta que punto puede fuincionar en sistemas heterogeneos (widows-linux) o si existe una version adecuada a windows de sshpass
2. Opción2: compartición de claves RSA
Para ello se actúa así:
0. Comprobar que esté Openssh instalado tanto en el cliente como en el servidor, ejecutando el comando
ssh -V
1. Crear el directorio ~/.ssh en la máquina cliente (Nota ~ es el directorio de usuario /home/myuser).
2. Generar la clave rsa en dicha carpeta del cliente y pedirá una contraseña (por ejempo your_Password12345) que se tendrá que guardar. Se generará en el fichero ~/.ssh/id_rsa.pub
client$ ssh-keygen -q -f ~/.ssh/id_rsa -t rsa
3. Desde el cliente copiamos la clave al servidor remoto
client$ scp ~/.ssh/id_rsa.pub remoteUser@remoteServer_ip: # No olvidar los 2 puntos ":"
y nos pedirá la contraseña de remoteUser (que tiene en el remoteServer)
4. en el servidor hacemos un append (añadimos al final del fichero) dicha clave al fichero ~/.ssh/authorized_keys y le añadimos finalmente una línea en blanco
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys server$ echo "" >> ~/.ssh/authorized_keys # y metemos una linea en blanco!!! MUY IMPORTANTE server$ rm ~/id_rsa.pub # y borramos el fichero que hemos descargado
5. Ejecutamos la primera vez en el cliente el acceso al servidor y nos pedirá la contraseña que le hemos dado al generar la clave rsa (en nuestro caso your_Password12345 )
client$ ssh -o PreferredAuthentications=publickey remoteUser@remoteServer_ip
6. Ya podemos entrar con ssh o scp (para copiar ficheros) y ya no nos vuelve a pedir la contraseña
client$ ssh remoteUser@remoteServer_ip
7. Problema: Si rearrancamos lamáquina, nos vuelve a pedir la contraseña !!!
No hay comentarios :
Publicar un comentario