GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Rsync-Dateien über Zwischenhost

Diese Frage wird im Wesentlichen an anderer Stelle beantwortet, einschließlich hier für scp und hier für rsync. Da letzteres meine Antwort enthält, aber keine Antwort akzeptiert wurde, wiederhole ich es hier.

Wie Sie bemerkt haben, können Sie rsync verwenden ist -e | --rsh Option, aber es wird etwas komplizierter:

rsync -azv -e 'ssh -o "ProxyCommand ssh -A PROXYHOST -W %h:%p"' foo/ dest:./foo/

Oder, wenn Ihre Version von ssh neu genug ist (OpenSSH>=v7.3), können Sie den -J verwenden (ProxyJump )-Option

rsync -azv -e 'ssh -A -J [email protected]:PORT' foo/ dest:./foo/

Beachten Sie, dass ich -A verwende (Agentenweiterleitung), aber es sollte auch mit Passwortauthentifizierung funktionieren, wenn Sie keine Schlüssel verwenden, und natürlich können Sie proxy ersetzen mit B und dest mit C in deinem Beispiel.

Falls Sie zufällig keinen ausreichend neuen ssh haben Version (>=5.3, IIRC), können Sie netcat verwenden statt -W Option zu ssh :

rsync -azv -e 'ssh -o "ProxyCommand ssh -A PROXYHOST nc %h %p"' foo/ dest:./foo/

Schließlich können Sie, wie bereits in den Kommentaren erwähnt, den ProxyCommand einfügen in Ihren $HOME/.ssh/config Datei, damit Sie nicht so eine komplizierte Befehlszeile haben müssen. Fügen Sie insbesondere Folgendes hinzu:

Host C
  ProxyCommand ssh -A PROXYHOST -p 22 -W %h:%p

Oder verwenden Sie ProxyJump für OpenSSH>=v 7.3:

Host C
  ProxyJump PROXYHOST

Dann sollten Sie in der Lage sein, einfach Folgendes zu tun:

rsync -azv foo/ C:./foo/

Linux
  1. Ssh – Wie bearbeite ich Dateien per SSH aus der Ferne?

  2. Wie kann man Rsync selektiv stumm schalten?

  3. Wie man über eine Zwischenmaschine scp??

  4. Sichern Sie Ihre Dateien mit rsync

  5. Linux-Ordner zusammenführen:rsync?

So übertragen Sie Dateien mit Rsync über SSH

So übertragen Sie Dateien mit Rsync über SSH

Rsync-Beispiele zum Übertragen von Dateien unter Linux

Setzen Sie teilweise übertragene Dateien über SSH mit Rsync fort

So führen Sie SSH zum Server über Linux

Verwenden von rsync zum Synchronisieren von Dateien