SSH-Tunnel für entfernte Dienste
Linux bietet mit SSH nicht nur die Möglichkeit das System fernzuwarten oder Dateien sicher zu übertragen. Über SSH können auch einzelne Dienste des Remote-Rechners oder aus dessen Netzwerk für den lokalen Rechner zugänglich gemacht werden. Dazu kann man mittels SSH einen Tunnel für einzelne Ports aufbauen.
ssh <your.server.com> -p <ssh-Port> -l <benutzername> -L <lokalerPort:ZielServer:ZielPort>
Achten Sie darauf den lokalen Port so zu wählen, dass dieser nicht durch einen anderen oder gleichwertigen Dienst belegt ist.
Beispiel 1
Wir wollen lokal direkt auf den MySQL-Server des Zielrechners zugreifen.
ssh server.example.com -p 22 -l root -L 3307:localhost:3306
In Ihrer Anwendung können Sie den MySQL-Server nun unter localhost und dem Port 3307 erreichen.
Beispiel 2
Wir wollen lokal direkt auf den Webserver eines Rechners im entfernten Netzwerk (in diesem sich unser Remoterechner befindet) zugreifen.
ssh server.example.com -p 22 -l root -L 8080:192.168.0.100:80
Der Webserver des Rechners 192.168.10.100 ist nun unter localhost und dem Port 8080 zu erreichen.