usar servidores incremental entre ejemplos crear como comando archivo unix rsa rsync dsa

unix - servidores - rsync incremental



¿Cómo se usa un archivo de identidad con rsync? (6)

¿Cómo se usa un archivo de identidad con rsync?

Esta es la sintaxis que creo que debería usar con rsync para usar un archivo de identidad para conectar:

rsync -avz -e ''ssh -p1234 -i ~/.ssh/1234-identity'' / "/local/dir/" [email protected]:"/remote/dir/"

Pero me está dando un error:

Warning: Identity file ~/.ssh/1234-identity not accessible: No such file or directory.

El archivo está bien, los permisos están configurados correctamente, funciona al hacer ssh, pero no con rsync, al menos en mi sintaxis. ¿Qué estoy haciendo mal? ¿Está tratando de buscar el archivo de identidad en la máquina remota? De ser así, ¿cómo especifico que quiero usar un archivo de identidad en mi máquina local ?


¿Estás ejecutando el comando en bash o sh? Esto podría hacer la diferencia. Intenta reemplazar ~ con $HOME . Intente hacer una comilla doble para la opción -e .


Debe especificar la ruta absoluta a su archivo de clave de identidad. Esto probablemente sea una especie de peculiaridad en rsync. (no puede ser perfecto después de todo)

Me encontré con este problema hace unos días :-)


Esto funciona para mí

rsync -avz --rsh="ssh -p1234 -i ~/.ssh/1234-identity" / "/local/dir/" [email protected]:"/remote/dir/"


Use $HOME

rsync -avz -e "ssh -p1234 -i /"$HOME/.ssh/1234-identity/"" dir remoteUser@server:

o camino completo a la clave:

rsync -avz -e "ssh -p1234 -i /home/username/.ssh/1234-identity" dir user@server:

Probado con rsync 3.0.9 en Ubuntu


use el archivo de clave con rsync:

rsync -rave "ssh -i /home/test/pkey_new.pem" /var/www/test/ [email protected]:/var/www/test


Es posible que desee utilizar ssh-agent y ssh-add para cargar la clave en la memoria. ssh intentará identidades de ssh-agent automáticamente si puede encontrarlas. Los comandos serían

eval $(ssh-agent) # Create agent and environment variables ssh-add ~/.ssh/1234-identity

ssh-agent es un daemon de usuario que contiene claves ssh sin cifrar en la memoria. ssh lo encuentra en función de las variables de entorno que ssh-agent genera cuando se ejecuta. Usar eval para evaluar esta salida crea las variables de entorno. ssh-add es el comando que administra la memoria de las teclas. El agente se puede bloquear usando ssh-add. Se puede especificar un tiempo de vida predeterminado para una clave cuando se inicia ssh-agent o se especifica para una clave cuando se agrega.

También es posible que desee configurar un archivo ~ / .ssh / config para proporcionar el puerto y la definición de la clave. (Ver `man ssh_config para más opciones.)

host 22.33.44.55 IdentityFile ~/.ssh/1234-identity Port 1234

El solo hecho de citar el comando ssh evitará la expansión del shell que sea necesaria para ~ o $HOME . Puede usar la ruta completa o relativa a la tecla en comillas simples.