SSH Tunnel zum Webif erstellen
Dieser Artikel beschreibt, wie ein verschlüsselter Zugriff auf das Webif der Dreambox im Heimnetzwerk hergestellt werden kann. Als Basis der Übertragung wird das SSH Protokoll verwendet. Wir nutzen das Protokoll jetzt nicht nur im klassischen Sinne, um die Kommandozeile zu erreichen, sondern wir gehen einen Schritt weiter und bauen einen verschlüsselten Tunnel vom Quellcomputer direkt auf das Webif der Dreambox.
Der Zugriff wird nach erfolgreichem Aufbau des Tunnels über den Webbrowser hergestellt.
Die Prozedur wird auch Portweiterleitung über SSH genannt.
Inhaltsverzeichnis
Ziel
- SSH Tunnel auf das Webinterface der Dreambox erstellen.
Voraussetzungen
- Linux (Terminal), MAC (Terminal) oder Windows (PuTTY)
- Die Url oder IP Adresse des Routers muss bekannt sein (Internetseitig).
- Port 22 muss auf die Dreambox weitergeleitet sein (NAT).
- Dropbear (SSH Server) muss auf der Dreambox aktiv sein
- Die Dreambox braucht ein Passwort.
Tunnelbau mit Linux / MAC via Terminal
Der Syntax für den Tunnel lautet wie folgt:
ssh -L lokalerport:zielrechner:zielport benutzer@gateway
Der Befehl erstellt nach erfolgreichem Login einen verschlüsselten Tunnel.
Alle Anfragen an den lokalen Port auf dem lokalen Rechner werden nun über den Gateway zum Zielrechner an den Zielport weitergeleitet.
Aufschlüsselung der Eingaben
- Der Lokale Port sollte grösser 1024 gewählt sein (unprivilegierte Ports verwenden).
- Als Zielrechner die IP Adresse der DreamBox eingeben.
- Zielport ist 80 für das Webif der DreamBox.
- Als Benutzer wird root verwendet.
- Gateway ist die IP Adresse oder URL des Routers.
- Beim Login (nach Eingabe des Befehls) ist das Passwort der DreamBox einzugeben. Erst dann wird der Tunnel aufgebaut.
Starten des Tunnels und Zugriff via Webbrowser
1. Verbindung starten:
ssh -L 3000:192.168.1.30:80 root@routerip.dyndns.net
2. Browser öffnen und Verbindung auf das Webif herstellen:
http://localhost:3000
Tunnelbau mit Windows via PuTTY
Mit PuTTY werden die gleichen Angaben eingegeben, wie mit dem Terminal unter Linux / MAC. Mit dem nachfolgendem Tunnel Beispiel, wird Bezug genommen auf folgende Befehlsaufschlüsselung.
Aufschlüsselung der Eingaben
- Hostname ist die IP Adresse (Internetseitig) oder die Url des Routers
- SourcePort ist 3000 (Lokaler Port für den Tunnel)
- Destination ist die IP Adresse der Dreambox mit Angabe des Zielports (192.168.1.30:80)
- Beim Login (nach Drücken der [Open] Schaltfläche) muss der Benutzername root mit entsprechendem Passwort eingegeben werden. Erst dann wird der Tunnel aufgebaut.
Starten des Tunnels und Zugriff via Webbrowser
1. PuTTY starten und Verbindungsinformationen eintragen
Hostname (URL oder IP Adresse des Routers) eingeben, Port ist standardmässig 22.
2. Tunnel Menü öffnen
Auf der linken Seite auf Connection => SSH => Tunnels navigieren
3. Tunnel definieren
Unter Source Port den lokalen Port (3000) einfügen.
Beim Eingabefeld Destination kommt die IP Adresse der Dreambox plus Zielport (192.168.1.30:80) rein.
Eingaben mit [Add] bestätigen.
4. Verbindung speichern
Auf der linken Seite zurück auf Session navigieren.
Speichert die Session, damit bei erneutem Benutzen von PuTTY nur das entsprechende Profil geladen werden kann.
Namen eintragen (1) und mit [Save] (2) bestätigen.
5. Verbindung starten
Schaltfläche [Open] anklicken, um die Verbindung zu starten.
6. Sicherheits - Meldung bestätigen
Die Meldung "PuTTY Security Alert" mit [Ja] bestätigen
(Erscheint nur beim ersten Einloggen)
7. Einloggen an der Dreambox:
Einloggen mit Benutzername (root) und Passwort.
Nach erfolgreichem Einloggen erscheint das Prompt der Box und der Tunnel steht.
8. Mit Webbrowser Verbindung herstellen:
Browser starten und mit folgender URL eine Verbindung zum Webif herstellen.
http://localhost:3000
Tipps & Tricks
- Für das Managen der Tunnels unter Linux / MAC gibt es verschiedene GUIs.
- Es können auch andere Geräte im Netzwerk erreicht werden z.B. ein NAS oder Router mit Webif. Dann muss für den Zielrechner einfach die IP des NAS eingegeben werden (Zielport muss auch stimmen).
- Im lokalen Netzwerk könnt ihr den Zugang natürlich auch testen mit (ssh -L 3000:IPderBox:80 root@IPderBox)
- Beim Tunnelstarten ohne Passwort ist das HowTo von User johnbock sehr hilfreich.
- Der Standardport 22 kann natürlich verändert werden. In der Datei /etc/init.d/dropbear nach Dropbear_Port=?? suchen und den gewünschten Port eingeben. Die Einstellungen am Router müssen natürlich angepasst werden. Eine weitere Möglichkeit ist, wenn der externe Port geändert wird und intern auf 22 weitergeleitet wird. Bei PuTTY und im Terminal muss natürlich der veränderte Port angegeben werden. Im Terminal den Befehl starten mit ssh -p 32456 -L 3000:192.168.1.30:80 root@routerip.dyndns.net
- Und ein gutes Passwort ist auch nicht verkehrt, also nicht dreambox verwenden.