Übertragen einer Datei von einem Server auf einen anderen Server, initiiert von einem dritten Computer

Übertragen einer Datei von einem Server auf einen anderen Server, initiiert von einem dritten Computer

Ich versuche, einen Site-to-Site-Transfer mit der folgenden Konfiguration durchzuführen. Ich habe einen alten Server (Server-A), den neuen Server (Server-B) und meine Workstation (wks), auf der ich den Transfer starten möchte.

Der SSH-Schlüsselaustausch zwischen wks und Server-A/B wurde durchgeführt.

Zwischen Server A und Server B wurden keine Schlüssel ausgetauscht.

Ich habe den folgenden Befehl von meiner Workstation aus ausprobiert

scp -r root@server-A:/path/to/source/ root@server-B:/destination/path

aber es funktioniert nicht. Soweit ich weiß, versucht Server A, eine Verbindung zu Server B herzustellen, und da kein Schlüsselaustausch stattfindet, schlägt dies fehl.

Irgendeine Idee, wie die Dateiübertragung bei dieser speziellen Konfiguration funktioniert?

Antwort1

Die bevorzugte Methode ist die Übertragung von Dateien über eine direkte Verbindung zwischen Server-A und Server-B. Dies ist, was scpversucht wird. Der relevante Teil vonman 1 scp:

-3
Kopien zwischen zwei Remote-Hosts werden über den lokalen Host übertragen. Ohne diese Option werden die Daten direkt zwischen den beiden Remote-Hosts kopiert. Beachten Sie, dass diese Option die Fortschrittsanzeige deaktiviert.

Sie haben Recht, dass ohne die -3Option „Server-A versucht, eine Verbindung zu Server-B herzustellen“ meine Tests zeigen, dass selbst wenn Server-B eine kennwortbasierte Authentifizierung zulässt, die Interaktion mit tty (während der Abfrage des Kennworts) höchstwahrscheinlich das Problem sein wird. In einem solchen Falldieser Kommentarscheint sinnvoll:

sshin Server A, starten Sie scpauf Server A (ein Befehl). Vermeidet das zweimalige Kopieren der Dateien.

Nachdem Sie explizit sshauf Server-A zugegriffen haben, scpsollte es kein Problem geben, mit TTY zu interagieren und gleichzeitig das Passwort für Server-B abzufragen. Alternativ können Sie sshauf Server-B zugreifen und scpdort aufrufen.

Wenn dies nicht möglich ist (Schlüssel erforderlich, Passwort nicht zulässig), verwenden Sie es scp -3auf Ihrer Workstation. Dabei wird Ihr lokaler Computer natürlich als eine Art Proxy verwendet, sodass die Daten über seine Netzwerkverbindung(en) nach unten und oben fließen.

Allerdings wird dies nicht von allen scpImplementierungen unterstützt -3.

verwandte Informationen