Die SSH ermöglicht es uns beliebige, unsichere, Protokolle durch einen SSH-gesicherten Tunnel zu leiten.
In Zeiten in denen sich das HomeOffice etabliert, bzw. von offizieller Seite empfohlen wird (COVID-19 sei Dank) kann ein SSH-Tunnel auch Sysadmin@Home ermöglichen. Das mag jetzt etwas sarkastisch klingen, aber ich bin grosser Verfechter des Home@Office und der digitalen Nomaden und bin oft auf Ablehnung gestossen. Es braucht offenbar eine Pandemie um dieser Arbeitsform zum Durchbruch zu verhelfen.
Aber zurück zum Thema: SSH-Tunnels erlauben es mir, auf Protokolle zuzugreifen welche in einem abgesicherten (privaten) Netz oder sogar auf der Loopback-Adresse (127.0.0.1) des jeweiligen Servers laufen.
Lokal | SSH-Tunnel | Remote |
127.0.0.1:4321 | 127.0.0.1:1234 | |
ssh user@server.example.com |
In der Annahme, dass das Remote-System server.example.com heisst, führe ich auf meiner lokalen Workstation (Lokal) den folgenden Aufruf aus:
1 2 3 |
ssh user@server.example.org -L 4321:127.0.0.1:1234 |
Ein Beispiel:
1. Wir starten zuerst auf “server.example.com” einen “Listener” auf der Loopback-Adress (127.0.0.1) und Port 1234, dazu eignet sich “nc -l” und horcht (listen):
1 2 3 4 |
SERVER $ ssh user@server.example.com SERVER $ nc -l 127.0.0.1 1234 |
2. Wir erstellen den SSH-Tunnel wie oben beschrieben:
“-L <lokaler Port>:<Adresse>:<entfernter Port>“
3. Auf unserem lokalen System verbinden wir uns nun mit Port 4321 und natürlich ebenfalls auf der Loopback-Adresse:
1 2 3 4 |
LOKAL $ nc 127.0.0.1 4321 Hallo Server<ENTER° |
… und sehen auf dem Server, wenig überraschend:
1 2 3 |
Hallo Server |
Fazit
Mit minimalem Aufwand bringen wir auf diese Weise alle Anwendungen (Services) wie z.B. Microsoft Remote Desktop, Webmin und Co.. in unser HomeOffice.