Immerwieder kommt es vor, dass man einen Zugang per ssh zu einem Rechner oder gar zu einem Netzwerk hat und in diesem Netz oder auf dem Rechner einen Dienst nutzen möchte der normal nach außen hin abgeschirmt ist.
Dieses Problem kann man nun durch einen ssh Tunnel umgehen. Viele Howtos gibt es bereits zu diesem Thema, also wieso nicht noch eine kleine Beschreibung mehr. Frei nach dem Motto „learn, write, know“.
Üblicherweise baut man eine ssh-Verbindung mit:
ssh user@host
auf.
Diesen Befehl ergänzt man nun um das -L Parameter und erhält folgenden Aufruf:
ssh user@host -L lokalport:zielip:zielport
Diese Befehl bedeutet nun, dass man Lokal einen Port bindet. Und von dem ssh-Server aus wird eine Verbindung zur zielip auf den zielport aufgebaut. Wenn man nun eine Verbindung zu localhost:lokalport aufbaut wird die Verbindung über den ssh Server zur Zielip geroutet oder forwarded.
Sinnvolle Anwendungsszenarien sind bspw. Vebrindungen zu einem VM-Server oder auch SVN-Server. Die man nicht von außen universell erreichbar machen möchte.