scp durch Zwischenserver

3

Ich muss eine Datei von einem Computer, auf den ich nur über SSHing zugreifen kann, auf einen Zwischencomputer kopieren.

Home -> server.com -> cluster.com

Ich versuche, von cluster.com nach Hause zu kopieren. Ich kann von zu Hause aus, aber nicht nach Hause. Die Verbindung

server.com-> cluster.com

hat einen öffentlichen RSA-Schlüssel, der Server lässt dies jedoch nicht zu

Home -> server RSA public key.

ich habe es versucht

home$ ssh server.com -L 2000:final:22 -N

was gab

channel 2: open failed: administratively prohibited: open failed

Ich habe es auch versucht

ssh -fN -L 4567:cluster.com:22 server.com

dann

ssh cluster.com -L 2000:final:22 -N

Was dazu geführt hat.

channel 2: open failed: administratively prohibited: open failed
ssh_exchange_identification: Connection closed by remote host

Ich habe diese Ideen von SCP-Dateien über einen Zwischen-Host erhalten und muss ich SFTP an einen Zwischen-Server senden?

Aber ich kann nicht scheinen, um die Ergebnisse zum Laufen zu bringen. Einige der anderen Beispiele im ersten Link, denen ich nicht folgen kann, haben nur die ausprobiert, die ich kann. Ich scheine nie in der Lage zu sein, ssh dazu zu bringen, das zu tun, was ich will.

Jede Hilfe wäre dankbar.

Tommy
quelle

Antworten:

5

Der eingeschaltete SSH-Server server.comist so konfiguriert, dass alle TCP-Weiterleitungsversuche abgelehnt werden. Verwenden -Lwird nicht funktionieren.


Eine Alternative zu SFTP und SCP ist gut alt tar:

ssh server.com "ssh cluster.com \"cd mydir && tar cz myfile\"" | tar xvz

Oder cat:

ssh server.com "ssh cluster.com \"cat mydir/myfile\"" | pv > myfile

Der | pvTeil " " ist optional. es wird ein schöner Fortschrittsbalken angezeigt, wenn Sie das pv- Programm installiert haben.

Grawity
quelle
Danke, all.txt ist eine Testdatei. Die Datei, die ich letztendlich kopieren möchte, ist eine große (5 Gig) tar.bzip-Datei, egal, dass sie bereits tariert ist.
Tommy
@Tommy: Für eine einzelne Datei? Siehe update. Oder entfernen Sie einfach die zOption von beiden Seiten.
Grawity
0

Es funktionierte für mich durch Hinzufügen einer "-t" -Option: ssh -t server.com "ssh cluster.com" cat mydir / myfile "

Da ich einen .pem-Schlüssel habe, mit dem ich mich mit server.com verbinde, und ein Passwort, um mich mit cluster.com zu verbinden, musste ich ein weiteres -i vor dem -t einfügen, um auf die .pem-Datei zu verweisen.

dg3781
quelle