Ich benutze jetzt Rsync mit -e 'ssh -p 10022'
Option, um den Port anzugeben.
Ich habe bereits SSH eingestellt ~/.ssh/config
.
Host myvps
HostName example.com
User ironsand
Port 10022
Kann ich diese Konfiguration einfach mit rsync verwenden? Oder Kann ich ~/.rsync
einen Standardport für den angegebenen Server erstellen und festlegen?
Das hat bei mir nicht geklappt. Ich habe Jump Hosting in meiner ~ / .ssh / config
ssh: Hostname vm-app01 konnte nicht aufgelöst werden : Knotenname oder Servername angegeben oder nicht bekannt. 42 / rsync / io.c (452) [Absender = 2.6.9]
Dies funktioniert jedoch einwandfrei
Bearbeiten, ich konnte die Namensauflösung überwinden, indem ich rsync ssh zwang, eine Konfigurationsdatei mit -F sudo rsync -az -e "ssh -F /Users/kbroughton/.ssh/config" zu laden
Dies geht über einen Fehler hinaus, aber auf einen anderen. Erlaubnis verweigert (publickey, gssapi-keyex, gssapi-with-mic). ssh_exchange_identification: Die Verbindung wurde vom Remote-Host geschlossen
Es wurde auch versucht, -i und user @ explizit in der Verbindung festzulegen, aber derselbe Fehler tritt auf.
BEARBEITEN
Ein weiterer Datenpunkt. Wenn ich die Floating-IP des Pivots vm (Jump Host) anstelle seines Namens verwende, funktioniert vm-pivot rsync. Aber explizit alle meine ssh / config in die -e "ssh" zu entleeren, funktioniert nicht. Details: lokaler Mac, aktualisiert auf rsync 3.1.0, remote centos rsync 3.0.9.
Das funktioniert
quelle
@darKoram. In Fällen, in denen Sie ssh mit einem nicht standardmäßigen Pfad aufrufen und versuchen, ssh in ProxyCommand zu verwenden, ist dies ein Problem, da es keine Vererbung gibt. Sie haben dort zwei Möglichkeiten: direkt dieselbe Datei im inneren Befehl bereitstellen oder dynamisch hacken. Sie können eine detaillierte Beschreibung in meinem Blog-Post darüber suchen: http://hubbitus.info/wiki/Blog:Ssh_forwarding_with_same_config_file_hack
Kurz in Ihrer Situation sollte die Konfiguration helfen wie:
quelle
@darKoram. Führen Sie den SSH-Prozess mit sudo aus:
sudo / usr / local / bin / rsync -az -e "sudo -u Benutzer ssh" /var/data/sources/data.tar.gz vm-app01: / home / user
quelle
@darKoram
Wie lautet der vollständige DNS-Name von "vm-app01"? Es muss öffentlich sein, da Sie behaupten, Sie könnten es innerhalb von ssh ohne rsync erreichen. Sie erwarten jedoch, dass ssh Ihren Host über das Muster "21ct-dev1- *" abfängt. Ich kann wirklich nicht sehen, wie das auf irgendeine Weise funktionieren könnte. Wenn Sie versuchen, Hostnamen zu strukturieren, sollte dies ungefähr so aussehen:
Dann sollte der Aufruf von rsync ungefähr so aussehen:
Wie wird "vm-app01" aufgelöst? Hosts-Datei, gewinnt, nis, nss? Hast du einen Alias? Gehören Sie zu einer Domain? Es sieht auf jeden Fall nach einem "einfachen" DNS-Problem aus.
quelle