Mein Blog

SSH Tunnel mit automatischem Wiederverbinden

Wer gern mal Videos auf Youtube in 1080p HD schauen möchte und im Telekomnetz hängt kennt sicher die Ruckler und Ladeverzögerungen. Wer jetzt in der glücklichen Position ist, einen eigenen Root-Server bzw. V-Server zu besitzen, kann hier für Besserung sorgen.

Der Trick besteht dabei einen sogenannten Tunnel via SSH zum Server aufzubauen und Verbindungen (zu Youtube z.B.) durch diesen Tunnel zu schicken. Für Youtube scheint es dann so, als käme die Anfrage von dem Server und nicht von euch. ABER ihr werdet dadurch nicht durch Telekom und Konsorten gebremst!!

Damit sich nun der heimische Linuxserver mit dem Root-Server verbindet und bei Bedarf wieder verbindet kann man das mit folgenden Commando automatisieren:

#!/bin/sh
while [ ! -f /tmp/stop ]; do  ssh -C -g -o ExitOnForwardFailure=yes -D 7070 Dein.Server.de -p 22 -N  "while nc -zv localhost 7070; do sleep 5; done"; sleep 5;done

damit wird per SSH der Tunnel mit Dynamik Port 7070 und “Access for Remote Host” (Parameter -g) geöffnet. Und solange nc den Port als “offen” findet wird immer 5sek gewartet und dann wieder getestet.. wenn der Port zu ist, wird SSH erneut gestartet. Funktioniert bei mir super.. gleich im Crontab eingestellt, dass es beim Reboot gestartet wird.

Wichtig: Das Beispiel hier funktioniert ohne Passwort. Es wurde vorher mittels SSH-COPY-ID ein Key zum Server geladen um passwortlos zu arbeiten!

Hier der direkte Videobeweis 🙂

Links im Chrome das Video per SSH-Tunnel und rechts dann im IE das gleiche Video direkt via ISP 1&1 !!

Die mobile Version verlassen