Zum Hauptinhalt springen

HTTP Proxy durch einen Reverse SSH Tunnel

·1 min
Michael Hönnig
Autor
Michael Hönnig
Bis Herbst 2027 nur für Beratungsaufträge mit geringem Stundenumfang verfügbar – remote, auf Deutsch und Englisch.

Ich stand gerade vor dem Problem, von einem (virtualisierten) Linux System (hiddenhost) aus, HTTP im Internet nutzen zu müssen, obwohl von diesem System aus kein Verbindungsaufba nach außen möglich ist, sehr wohl allerdings eine Intranet-SSH-Verbindung zu diesem System. Doch auch dieses Problem hat eine Lösung:

Auf einem Linux-System im Intranet, welches ins Internet kommt (openhost), wird z.B. Privoxy als einfacher HTTP-Proxy auf Port 8118 installiert:

# apt-get install privoxy

Und ebenfalls dort ein reverse SSH-Tunnel gestartet:

# ssh -nNT -R 8118:localhost:8118 user@hiddenhost

Auf dem abgeschotteten System wird dann der Proxy z.B. so konfiguriert:

$ echo 'export http_proxy=localhost:811' >>~/.bashrc
$ source ~/.bashrc

Für apt-get kann man den Proyx am besten so konfigurieren:

# echo 'acquire::http::Proxy "http://openhost:3128";' >/etc/apt/apt.conf.d/proxy