Wie verwendet man eine Identitätsdatei mit rsync?
Dies ist die Syntax , die ich mit rsync verwenden sollte, um eine Identitätsdatei für die Verbindung zu verwenden:
rsync -avz -e 'ssh -p1234 -i ~ / .ssh / 1234-identity' \ "/ local / dir /" [email protected]: "/ remote / dir /"
Aber es gibt mir einen Fehler:
Warnung: Identitätsdatei ~ / .ssh / 1234-Identität nicht zugänglich: Keine solche Datei oder kein solches Verzeichnis.
Die Datei ist in Ordnung, die Berechtigungen sind korrekt eingestellt, es funktioniert, wenn ssh ausgeführt wird - nur nicht mit rsync - zumindest in meiner Syntax. Was mache ich falsch? Versucht es, auf dem Remotecomputer nach der Identitätsdatei zu suchen? Wenn ja, wie gebe ich an, dass ich eine Identitätsdatei auf meinem lokalen Computer verwenden möchte ?
User ubuntu
bei der Konfiguration für eine EC2-Ubuntu-Instanz :) Danke!fish
) verwenden, tun Sie dieseval (ssh-agent -c)
Benutze das eine oder das andere
$HOME
oder vollständiger Pfad zum Schlüssel:
Getestet mit rsync 3.0.9 unter Ubuntu
quelle
$HOME
funktioniert nicht in einfachen Anführungszeichen (keine Variablenerweiterung), daher müssen Sie entweder doppelte Anführungszeichen oder den absoluten Pfad verwenden."$HOME"
oder$HOME
ohne Unterschied ("${HOME}"
ist auch möglich, wenn Sie es kompliziert machen wollen)Sie müssen den absoluten Pfad zu Ihrer Identitätsschlüsseldatei angeben. Dies ist wahrscheinlich eine Art Macken in rsync. (es kann doch nicht perfekt sein)
Ich bin erst vor ein paar Tagen auf dieses Problem gestoßen :-)
quelle
Das funktioniert bei mir
quelle
/home/user/.ssh/1234-identity
. Dann hat es funktioniert. Möglicherweise, weil es dann eine andere Hülle ist, wie in Darhuuks Antwort vorgeschlagen.Führen Sie den Befehl in bash oder sh aus? Dies könnte einen Unterschied machen. Versuchen Sie es
~
durch$HOME
. Versuchen Sie, die Zeichenfolge für die-e
Option in doppelte Anführungszeichen zu setzen .quelle
Verwenden Sie die Schlüsseldatei mit rsync:
quelle