Bueno, el título lo dice todo.
Tenemos nuestra red con varios servidores y queremos programar la copia de ficheros de configuración, exports de bases de datos, etc. pero con dos características:
1.-Queremos que la copia sea segura. O sea, que vaya cifrada entre los servidores.
2.-Tenemos que salvar el problema de la petición de password. Quiero decir que como va a ser algo programado no va a haber nadie para meter la password que requiere un comando online como sftp (sequre ftp) o scp (sequre copy).
Esto es tremendamente sencillo, pero hay que tener clara una cosa:
1.-Llamaré máquina A al que ejecuta el sftp, scp, ssh, etc.
2.-La máquina B será la que requiere la password.
No voy a usar los términos cliente y servidor porque inducen a error.
Como se hace
En la máquina A hay que generar el par de claves pública y privada para RSA. Esto puede tardar unos minutillos.
$ ssh-keygen -b 4096 -t rsa
Nos fijamos en la clave pública porque es la que tenemos que llevar a la máquina B.
/home/aitor/.ssh/id_rsa.pub
En la máquina B dejamos esa clave pública en /home/aitor/.ssh/id_rsa.pub
Si no existe el fichero llamado authorized-keys entonces renombramos esa clave pública como authorized_keys y arreglado:
mv id_rsa.pub authorized_keys
Si authorized-keys existe entonces le agregamos la nueva clave pública:
cat id_rsa.pub >> authorized_keys
De esta forma ya podemos ejecutar los siguientes comandos sin necesidad de introducir la password porque hay plena confianza entre los servidores. Cuidado con esto por si la situación cambia en el futuro.
Para mover un fichero del servidor A al servidor B:
scp fichero servidorB:/prueba/fichero-movido
o si cambia el usuario:
scp fichero pedro@servidorB:/prueba/fichero-movido
Del servidor B al servidor A:
scp servidorB:/fichero /prueba/fichero-movido
El comando lo ejecuta siempre el servidor A. Si hace falta que lo ejecute el servidor B tendríamos que generar las claves en la máquina B y mover la clave pública a la máquina A.
Saludos.
Tenemos nuestra red con varios servidores y queremos programar la copia de ficheros de configuración, exports de bases de datos, etc. pero con dos características:
1.-Queremos que la copia sea segura. O sea, que vaya cifrada entre los servidores.
2.-Tenemos que salvar el problema de la petición de password. Quiero decir que como va a ser algo programado no va a haber nadie para meter la password que requiere un comando online como sftp (sequre ftp) o scp (sequre copy).
Esto es tremendamente sencillo, pero hay que tener clara una cosa:
1.-Llamaré máquina A al que ejecuta el sftp, scp, ssh, etc.
2.-La máquina B será la que requiere la password.
No voy a usar los términos cliente y servidor porque inducen a error.
Como se hace
En la máquina A hay que generar el par de claves pública y privada para RSA. Esto puede tardar unos minutillos.
$ ssh-keygen -b 4096 -t rsa
Nos fijamos en la clave pública porque es la que tenemos que llevar a la máquina B.
/home/aitor/.ssh/id_rsa.pub
En la máquina B dejamos esa clave pública en /home/aitor/.ssh/id_rsa.pub
Si no existe el fichero llamado authorized-keys entonces renombramos esa clave pública como authorized_keys y arreglado:
mv id_rsa.pub authorized_keys
Si authorized-keys existe entonces le agregamos la nueva clave pública:
cat id_rsa.pub >> authorized_keys
De esta forma ya podemos ejecutar los siguientes comandos sin necesidad de introducir la password porque hay plena confianza entre los servidores. Cuidado con esto por si la situación cambia en el futuro.
Para mover un fichero del servidor A al servidor B:
scp fichero servidorB:/prueba/fichero-movido
o si cambia el usuario:
scp fichero pedro@servidorB:/prueba/fichero-movido
Del servidor B al servidor A:
scp servidorB:/fichero /prueba/fichero-movido
El comando lo ejecuta siempre el servidor A. Si hace falta que lo ejecute el servidor B tendríamos que generar las claves en la máquina B y mover la clave pública a la máquina A.
Saludos.
No hay comentarios:
Publicar un comentario