
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 scp
versucht 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 -3
Option „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:
ssh
in Server A, starten Siescp
auf Server A (ein Befehl). Vermeidet das zweimalige Kopieren der Dateien.
Nachdem Sie explizit ssh
auf Server-A zugegriffen haben, scp
sollte es kein Problem geben, mit TTY zu interagieren und gleichzeitig das Passwort für Server-B abzufragen. Alternativ können Sie ssh
auf Server-B zugreifen und scp
dort aufrufen.
Wenn dies nicht möglich ist (Schlüssel erforderlich, Passwort nicht zulässig), verwenden Sie es scp -3
auf 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 scp
Implementierungen unterstützt -3
.