Pregunta: Cuando realizo rsync, me pide mi contraseña en el servidor remoto antes de iniciar la transferencia. Me gustaría evitar esto y realizar rsync sin contraseña. ¿Puede explicar con un ejemplo cómo configurar rsync sobre ssh sin contraseña en Linux?
Respuesta: Los siguientes pasos explican cómo configurar rsync sobre ssh que no solicita una contraseña. Esto es útil cuando está programando un trabajo cron para una copia de seguridad automática usando rsync.
1. Prueba rsync sobre ssh (con contraseña):
Haga un rsync para asegurarse de que solicite la contraseña de su cuenta en el servidor remoto y copie correctamente los archivos en el servidor remoto.
El siguiente ejemplo sincronizará la carpeta local /home/ramesh con la carpeta remota /backup/ramesh (en el servidor 192.168.200.10).
Hablamos en detalle sobre rsync en nuestros 15 artículos anteriores de ejemplos de rsync.
Esto debería pedirle la contraseña de su cuenta en el servidor remoto.
rsync -avz -e ssh /home/ramesh/ [email protected]:/backup/ramesh/
2. ssh-keygen genera claves.
Ahora configure ssh para que no solicite una contraseña cuando realice ssh. Utilice ssh-keygen en el servidor local para generar claves públicas y privadas.
$ ssh-keygen Enter passphrase (empty for no passphrase): Enter same passphrase again:
3. ssh-copy-id copia la clave pública al host remoto
Utilice ssh-copy-id para copiar la clave pública en el host remoto.
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.200.10
4. Ejecutar rsync sobre ssh sin contraseña
Ahora, debería poder conectarse al host remoto sin ingresar la contraseña.
ssh 192.168.200.10
Realice el rsync nuevamente, no debería pedirle que ingrese ninguna contraseña esta vez.
rsync -avz -e ssh /home/ramesh/ [email protected]:/backup/ramesh/
Si desea programar este trabajo de respaldo de rsync automáticamente, use cron para configurarlo.