¿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 conectarme:
rsync -avz -e 'ssh -p1234 -i ~ / .ssh / 1234-identity' \ "/ local / dir /" [email protected]: "/ remote / dir /"
Pero me está dando un error:
Advertencia: archivo de identidad ~ / .ssh / 1234-identidad no accesible: no existe tal archivo o directorio.
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? ¿Intenta buscar el archivo de identidad en la máquina remota? Si es así, ¿cómo especifico que quiero usar un archivo de identidad en mi máquina local ?
User ubuntu
al configurar una instancia de Ubuntu EC2 :) ¡Gracias!fish
), entonces hágaloeval (ssh-agent -c)
Utilizar cualquiera
$HOME
o ruta completa a la clave:
Probado con rsync 3.0.9 en Ubuntu
fuente
$HOME
no funcionará dentro de comillas simples (sin expansión variable), por lo que debe usar comillas dobles o la ruta absoluta."$HOME"
o$HOME
sin ninguna diferencia (también"${HOME}"
es posible, si quieres complicarlo)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 solo unos días :-)
fuente
Esto funciona para mi
fuente
/home/user/.ssh/1234-identity
. Entonces funcionó. Posiblemente porque es entonces un caparazón diferente, como se sugiere en la respuesta de Darhuuk.¿Estás ejecutando el comando en bash o sh? Esto puede hacer la diferencia. Intenta reemplazar
~
con$HOME
. Intente entrecomillar la cadena para la-e
opción.fuente
use el archivo de clave con rsync:
fuente