Wenn Server A eine TCP-Verbindung zu Port 22 von Server B herstellen kann und Sie diese Befehle in Server A eingeben, ist der Tunnel nicht erforderlich.
ssh -L 1234:server_B:22 -p 45678 user_in_A@server_A
Wenn Sie diesen Befehl auf Server A ausführen, bedeutet dies:
- Sie erwarten, dass Server A
sshd
Port 45678 hat - Sie stellen eine SSH-Verbindung von Server A zu User_in_A @ Server_A her
- Sie richten auch einen Tunnel vom Port 1234 von Server A zum Port 22 von Server B ein. Das heißt, Server A
sshd
wird in Port 1234 auf Server A einen TCP-Proxy einrichten und die Verbindung (en) an Port 22 des Servers weiterleiten B.
Da die SSH-Verbindung vom Server A zum Server A erfolgt, befindet sich der verschlüsselte Teil des Tunnels vollständig im Server A und ist somit ziemlich nutzlos. Wenn der Tunnel funktioniert, können Sie einfach scp
Dateien übertragen, ohne den Tunnel zu erstellen:
scp -i key_for_user_in_B /some/where/local/files user_in_B@server_B:
oder
scp -i key_for_user_in_B user_in_B@server_B:/some/remote/path /some/local/path/
Beim ersten werden Dateien von "local" (A) nach B "verschoben", mit dem zweiten werden Dateien von B nach "local" (A) "gezogen".