scp-Dateien von einem Host über einen anderen Host


0

Ich bin auf Maschine A und kann über ssh auf Maschine B und über ssh von Maschine B nach C zugreifen. Aber ich kann nicht direkt von A auf Maschine C zugreifen.

Das Problem ist, dass ich einen Ordner mit einer Größe von 5 GB von C auf meinen lokalen Computer A übertragen muss. Ich kann dies tun, indem ich sie zuerst auf B und dann von B auf A übertrage. Aber B hat begrenzten Speicherplatz. Ich habe ein Benutzerkonto auf B und C, kein Root-Konto. Aber ich kann meine Sachen mit den Benutzerkonten machen.

Sagen Sie mir jetzt bitte, wie ich diesen Ordner von C nach A bekommen kann. Ich habe von SSH-Tunneln hier gehört, aber es ist mir nicht klar. Was soll ich machen?

Antworten:


3

Wenn Sie eine neuere Version von scp haben, können Sie scp mit -3Argument auf Host B ausführen .

scp -3 user@hostC:/path/to/file user@hostA:/path/to/file

Es leitet den Datenverkehr über hostB weiter. (Siehe http://www.openbsd.org/cgi-bin/man.cgi?query=scp. )

Ich nehme an, es werden auch die Anmeldeinformationen für beide Server separat abgerufen. Aber ich habe im Moment nur eine ältere Version und kann nicht testen, um sicherzugehen.


Hallo, das Problem ist, dass Host C eine lokale Maschine ist.
P basak

Wenn Sie von HostB aus über SSH auf HostC zugreifen können, wie Sie in der Frage gesagt haben, sollte es keine Rolle spielen, ob sich HostC im lokalen Subnetz oder an einem anderen Ort befindet. Können Sie erklären, warum das ein Problem ist?
Kent

Ich denke, ich war nicht klar in der Frage, und ich habe auch einen Fehler gemacht, Host A ist lokal, nicht Host C. Eigentlich kann ich von A auf B zugreifen, aber nicht von B nach A.
P basak

Auf hostA können Sie auf hostB einen Tunnel einrichten, mit dem Sie von host B: (auf hostA:) eine Verbindung zu hostA herstellen können ssh -R 4567:localhost:22 user@hostB. Dann würde der Befehl scp scp -3 user@hostC:/path/to/file -P 4567 user@localhost:/path/to/fileungefähr so aussehen (ausgeführt von hostB, wobei "localhost: 4567" zurück zu hostA springt).
Kent
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.