SSH tunneling ist immer dann praktisch, wenn man von einem host nicht auf einen anderen über einen Port zugreifen kann.
Dann kann man über einen „Mittelsmann-Server“ (sogenannter „jumphost“), welcher Zugriff auf den remote host hat, darauf zugreifen.
Inhalt
Tunnel erstellen
ssh -nNT -L 1022:remotehost:22 root@jumphost |
Über Tunnel Verbinden
ssh localhost -p 1022 |
Erklärung
ssh -nNT -L 1022: | remotehost:22 | root@jumphost |
Erstelle eine SSH Verbindung ohne Shell (-nNT) und öffne auf der lokalen Maschine Port 1022 (-L 1022) | Leite den lokalen Port 1022 um auf den Port 22 auf dem Remote host | Mach das über den host: root@jumphost |
Damit wird jetzt eine SSH Verbindung zu root@jumphost (Port 22) erstellt und offen gehalten.
Verbindet man sich nun über localhost auf dem Port 1022, erstellt jumphost eine Verbindung auf den Port 22 von remotehost und übergibt diese dem localhost auf dem Port 1022.