Ein SSH Tunnel kann jeden Datenstrom übertragen. Ein SSH Tunnel baut eine Verbindung zwischen einem Client und einem Host auf und umgeht durch Verschlüsselung die Eingriffsmöglichkeiten dazwischen geschalteter Geräte (Router, DPI).

In diesem Beispiel lassen wir den HTTP und HTTPS Datenstrom über einen SSH Tunnel laufen. Das ist nützlich, um durch Zensur blockierte Websites zu bertachten oder die Kontrolle des Surfverhaltens zu umgehen.

Benötigt wird dazu ein SSH Server. Das kann ein Linux Rechner zuhause sein oder ein beliebiger Server im Internet, zu dem man SSH Zugangsdaten besitzt.

Unter PuTTY stellt man hierzu eine ganz normale SSH Verbindung her (gibt also Hostname und evtl. den SSH Port ein) und wechselt dann zu den Optionen für SSH Tunnel. Hier richten wir einen dynamsichen Redirect auf einen Port ein (z.B. 8080).

Im Browser stellen wir dann localhost und den gewähjlten Port als SOCKS5 Proxy ein. Als SOCKS Proxy wird das Verfahren beschrieben den Web Traffic durch einen anderen Computer zu leiten. Also genau was wir hier vorhaben.

SSH Tunnel unter Linux

ssh -D 8080 username@sshserver.de

Auch eine Kombination der folgenden Parameter kö nte sinnvoll sein (-C2qTnN):

  • C: Requests compression of all data
  • 2: Forces ssh to try protocol version 2 only
  • q: Quiet mode
  • T: Disable pseudo-tty allocation
  • n: Redirects stdin from /dev/null (actually, prevents reading from stdin)
  • N: Do not execute a remote command (doesn’t open the shell)