Usar rsync sobre SSH sin contraseña

última modificación:

En rsync vimos cómo hacer copias de seguridad a un servidor remoto. El problema es que si añadimos ese comando al cron, el proceso se queda esperando la contraseña SSH y nunca termina. La solución es combinarlo con la autenticación por clave pública.

Una vez configurada la clave SSH en el servidor de destino, rsync la aprovecha automáticamente sin ningún cambio en la sintaxis:

rsync -avz /home/usuario/ usuario@example.com:/home/usuario/backup/

rsync usa SSH por defecto para las conexiones remotas. Si la clave privada está en una ubicación distinta a la estándar, podemos indicarla con la opción -e:

rsync -avz -e "ssh -i $HOME/.ssh/mi_clave" /home/usuario/ usuario@example.com:/backup/

Con esto ya podemos añadir la copia de seguridad remota al cron sin que se quede bloqueada esperando una contraseña:

0 3 * * * rsync -avz /home/usuario/ usuario@example.com:/home/usuario/backup/