
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@host
melde 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@hostname
und dann scp zum Computernamen oder umgekehrt. login@hostname
Der 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 2222
eins über - und das ist hier wichtig - localhost
an Port eins weitergeleitet werden . Dann folgen Sie22
computer_name
host
$ 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 scp
meines 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 einProxyCommand
damit Sie direkt ssh computer_name
vom Originalclient aus ausführen können. Richten Sie die Authentifizierung mit öffentlichem Schlüssel ein und aktivieren Sie die Agentenweiterleitung ( ForwardAgent yes
in ~/.ssh/config
), damit Sie dem Zwischencomputer nicht explizit Anmeldeinformationen bereitstellen müssen.
Das ssh computer_name
funktioniert jetzt reibungslos. Verwenden Sie einfach scp
oder rsync
was auch immer Sie zum Kopieren von Dateien verwenden möchten.