So verwenden Sie rsync mit einem Remote-Remote-Host

So verwenden Sie rsync mit einem Remote-Remote-Host

Ich bin ein zufriedener Benutzer von rsync -e sshund verwende es, um Daten zwischen meinem Computer und einem Remote-Host zu synchronisieren.

rsync -avz -e ssh me@hostA:~/folder ~/folder

Und das hat bisher getan, was ich brauchte.

Ich arbeite jetzt mit einer Konfiguration, bei der der Zugriff etwas komplizierter ist. Angenommen, jetzt ~/folderist eingeschaltet hostB, aber hostBvon meiner Maschine aus nicht direkt erreichbar, sondern nur indirekt über hostA.

Wenn ich also nur den Ordner auf sehen möchte hostB, muss ich zuerst eine SSH-Verbindung zu herstellen hostA, dann zu. hostBDanach kann ich meine Dateien in ~/folderauf dem Remote-Host sehen.

Meine Frage ist nun: Welche (beste) Methode kann ich rsyncdirekt zwischen meinem Computer und verwenden hostB?

Leider ist dies die Konfiguration, mit der ich arbeiten muss. Ich gehe davon aus, dass es keine Möglichkeit gibt, die Daten vorübergehend auf hostAsich selbst zu speichern.

Antwort1

Schauen Sie sich anWie verbinde ich mich über SSH mit einem anderen PC

Du erstellst einen neuen ~/.ssh/configEintrag mit dem Namen tunnelb:

Host tunnelb
HostName hostB
User user
ProxyCommand ssh user@hostA nc %h %p

Wenn Sie eine aktuelle Version von ssh haben, können Sie Proxycommand ssh user@hostA -W %h:%pstattdessen verwenden. Dies ist vorzuziehen, da es nicht aufnc

Jetzt können Sie einfach verwenden, rsync -e ssh tunnelb:~/folder ~/folderda der definierte Eintrag in verwendet wird ~/.ssh/config.

Antwort2

Variante 1:

Starten Sie zunächst ssh auf HostA dauerhaft mit lokaler Portweiterleitung in einem anderen Terminal. Beispiel:

ssh -N -v -L 22022:hostB:22 hostA

Dann „füttere“ rsync mit ssh an localhost:22022. Eine Variante besteht darin, in ~/.ssh/config zu schreiben:

Host hostB
HostName localhost
Port 22022

Variante 2:

Ersetzen Sie es -e sshdurch -eein Skript, das Folgendes enthält:

ssh hostA 'ssh hostB' "$@"

Ich habe es nicht ausprobiert, daher müssen einige Details noch näher erläutert werden.

verwandte Informationen