Kopieren von Dateien über zwei SSH-Ebenen von Windows

Kopieren von Dateien über zwei SSH-Ebenen von Windows

Der Ort, an dem ich arbeite, hat einen Anmeldeserver, und dann melde ich mich von diesem Anmeldeserver aus bei einer Linux-Box an. Wie in:

ssh login@host

ssh computer_name

jedes Mal eine Authentifizierung durchführen. Wenn ich von meinem Laptop aus arbeite, auf dem (leider) Vista läuft, führe ich Putty aus, um mich einzuloggen, und login@hostmelde mich dann über das geöffnete Terminal bei Computername an.

Ich muss häufig lokale Dateien von meinem Computer auf die Linux-Box übertragen und umgekehrt. Normalerweise verwende ich WinSCP zum Übertragen login@hostnameund dann scp zum Computernamen oder umgekehrt. login@hostnameDer Speicherplatz ist jedoch sehr sehr begrenzt und ich kann auf diese Weise keine größeren Dateien übertragen. Gibt es eine Möglichkeit, Dateien direkt zwischen Computername und meinem Laptop zu übertragen?

Antwort1

Richten Sie einen Port als lokale Portweiterleitung ein. Für OpenSSH würde das bedeuten:

$ ssh login@host -L 2222:computer_name:22

was dazu führt, dass alle Verbindungen zu Port 2222eins über - und das ist hier wichtig - localhostan Port eins weitergeleitet werden . Dann folgen Sie22computer_namehost

$ scp -P 2222 computer_name_user@localhost:remote local

Natürlich können Sie damit auch eine Verbindung herstellen zucomputer_name

$ scp -p 2222 computer_name_user@localhost

PuTTY kann die Portweiterleitung durchführen (und hat das scpmeines Wissens auch getan), doch obwohl es sich um eine feste Software handelt, würde ich eigentlich die Verwendung von OpenSSH unter Cygwin empfehlen, da Sie damit die De-facto-Standard-SSH-Schnittstelle (mit allem Drum und Dran) erhalten.

Ich konnte nicht schnell ein eindeutiges Duplikat finden, aber Sie möchten wahrscheinlich Folgendes überprüfen:

Antwort2

Der einfache Weg, Dinge über zwei SSH-Ebenen zu erledigen, besteht darin, die Zwischenebene auszublenden.

Richten Sie einProxyCommanddamit Sie direkt ssh computer_namevom Originalclient aus ausführen können. Richten Sie die Authentifizierung mit öffentlichem Schlüssel ein und aktivieren Sie die Agentenweiterleitung ( ForwardAgent yesin ~/.ssh/config), damit Sie dem Zwischencomputer nicht explizit Anmeldeinformationen bereitstellen müssen.

Das ssh computer_namefunktioniert jetzt reibungslos. Verwenden Sie einfach scpoder rsyncwas auch immer Sie zum Kopieren von Dateien verwenden möchten.

verwandte Informationen