| « DVDs abspielen unter Linux | Joystick am Soundkarten-Adapter zum Laufen überreden » |
Per SSH-Tunnel schnell mal auf einen geschützten Dienst im Intranet zugreifen
Um über's Internet auf einen hinter einer Firewall verborgenen Dienst sicher zugreifen zu können, muss man nicht immer große Geschütze auffahren und IPSec verwenden oder VPN einrichten. Es genügt oft auch ein einfacher SSH-Tunnel.
Follow up:
Meistens wird SSH verwendet, um eine Shell auf einem entfernten Rechner über eine sichere Verbindung aufzubauen. SSH bietet aber noch weitere Möglichkeiten. Mit folgender Zeile wird eine Verbindung zu Server serv aufgebaut:
ssh -N -L 8080:int_serv:80 user@serv
Hierbei muss der Server serv eine SSH-Verbindung aus dem Internet zulassen. Er ist das Tor zum Intranet. Der Benutzer-Account über den ich mich in obigen Beispiel verbinde heißt user und muss natürlich ersetzt werden. Mit der Option -L wird der Port 8080 als Eingang für den Tunnel verwendet. Als Ausgang dient der Server serv. Er leitet alle eingehenden Daten an den im Intranet befindlichen Server int_serv und zwar zu Port 80 weiter. Die Antworten von int_serv liefert er auf dem umgekehrten Wege zurück.
Damit der Tunnel funktioniert, muss man natürlich die Namen der beiden Server ersetzen. Auch die Ports müssen durch die wirklich zu verwendeten Ports ersetzt werden. In meinem Beispiel greife ich auf den Webserver int_serv, der sich im abgeschotteten Intranet befindet, zu. Deshalb kann ich, nach ausführen der obigen Befehlszeile, einfach mit meinem Browser über http://localhost:8080 auf den internen Webserver zugreifen.
Die Option -N bewirkt, dass keine entfernte Shell geöffnet wird. Diese benötige ich für meinen Zugriff nicht. Den SSH-Tunnel kann man einfach wieder abbauen, indem man in der Shell, in der man ihn aufgebaut hat, Strg-C drückt.
Die Option -R funtioniert ähnlich, wie im obigen Beispiel, nur mit dem Unterschied, dass man den Tunnel nicht von außen, sondern von innen, d.h. von einem Rechner aus dem Intranet heraus, öffnet. Ich lasse also jemanden, der sich außerhalb im Internet befindet über eine sichere Verbindung hinein.