Ich benutze Ccygwin unter WinXP (mit der Bash-Shell). Ich möchte eine Datei von meinem lokalen Rechner auf einen entfernten Rechner scannen - Host2. Allerdings kann ich nur zu einem Zwischenrechner SSH - host1 und dann von dort SSH zu host2. (Beachten Sie, dass ich von meinem lokalen Host aus nicht auf host2 zugreifen kann.)
Ich dachte, Tunnelbau wäre meine Antwort, aber wenn ich versuche, einen Tunnel zu errichten
ssh -L 9999:localhost:9998 dalvarado@host1 'ssh -L 9998:localhost:1234 -N dalvarado@host2'
Aber nachdem Sie diesen Befehl eingegeben und die Eingabetaste gedrückt haben, bleibt das System einfach hängen. Was ist der richtige Weg, um einen Tunnel einzurichten und anschließend eine Datei zu scannen?
Vielen Dank, -
ssh
scp
ssh-tunnel
Dave
quelle
quelle
Antworten:
Dies wird bereits am besten beantwortet hier .
Zusammenfassend: Geben Sie Folgendes ein
~/.ssh/config
und dann einfach
scp
zu target.machine, wann immer Sie über proxy.machine vertreten wollen!Funktioniert auch für
ssh
, spart also auch Zeit beim Versenden auf den Zielcomputer.Das Guthaben sollte an user24925 gehen, der dies im Jahr 2011 beantwortet hat.
quelle
Verwenden Sie das folgende Format, um einen SSH-Tunnel einzurichten:
Dieser Befehl stellt eine Verbindung zu
host1
as heruser
und tunnelt Port 9999 auf dem Computer, der den Befehl an Port 22 ausgibthost2
.-N
ist optional, oder Sie können etwas wietop
oder verwendenwatch
, um die Sitzung bei Bedarf am Leben zu halten.Dann einfach
scp
zu host2 auf localhost: 9999.quelle
scp
Befehlssyntax ist jedoch falsch. Versuchen Sie dies,scp -P 9999 hello.txt user@localhost:/path/to/destination/file
wouser
sich der Benutzer befindethost2
, unter dem Sie sich anmelden möchten.Seit OpenSSH 7.3 können Sie mit
-J
oder-o ProxyJump
den Bastion / Jump-Host angeben. Daher zu SSHnode2
übernode1
:SCP hat das
-J
Argument nicht, aber es erlaubt es-o
, also funktioniert das:quelle
Sie können die Datei zunächst wie folgt auf host1 scpen:
Dann mach das, um es zu host2 zu bringen:
Die
-t
Option,ssh
die Zuweisung eines Pseudoterminalsscp
zu erzwingen , was es für Host1 möglicherweise einfacher macht, Sie zur Eingabe einer Passphrase / eines Passworts aufzufordern. Wenn der ssh-agent überall ausgeführt und konfiguriert wird, sollten Sie nicht zur Eingabe einer Passphrase / eines Passworts aufgefordert werden.Ich biete diese Alternative an, da Sie bei Verwendung eines Tunnels immer noch zwei Befehle benötigen: einen zum Einrichten des Tunnels und einen zum Kopieren der Datei durch diesen. Das scheint einfacher zu sein.
quelle