Gå till innehållet

SSH via HTTP tunnel

Ibland finns det behov av att tunnla sin trafik via HTTP, exempelvis om man sitter i ett nätverk med en WWW-proxy som enbart tillåter HTTP. (Ofta kan man ju köra en SSH-demon på port 80, men när sådana aktiviteter är spärrade gör sig behovet av HTTP-proxy påmint...)

Detta är aktiverat på DF:s webserver.

Komma igång

På klientsidan behöver du programmet proxytunnel (eller motsvarande). Det finns för de flesta normala plattformar.

OpenSSH

Lägg till följande i din ~/.ssh/config:

Host *.df.lth.se Userusername ProxyCommand /path/to/proxytunnel -q -pproxy.local.net:8080-r www.df.lth.se:80 -R seymour.cray:igloo.rip -d %h:%p -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)\n" ServerAliveInterval 30

alt. om din lokala proxy kräver namn och lösenord

Host *.df.lth.se Userusername ProxyCommand /path/to/proxytunnel -q -pproxy.local.net:8080-Plocaluser:localpassword-r www.df.lth.se:80 -R seymour.cray:igloo.rip -d %h:%p -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)\n" ServerAliveInterval 30

PuTTY

Tillse att du har en nyare PuTTY än version 0.58. I inställningarna, gå till Connection -> Proxy. Välj Local proxy type. För Telnet command alt. local proxy, skriv:

proxytunnel -q -pproxy.local.net:8080-r ssh.yourdomain.com:80 -r %host:%port -R seymour.cray:igloo.rip -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)\n"

alt. om din lokala proxy kräver namn och lösenord

proxytunnel -q -pproxy.local.net:8080-Plocaluser:localpassword-r ssh.yourdomain.com:80 -r %host:%port -R seymour.cray:igloo.rip -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)\n"

För den som är intresserad av hur det ser ut bakom kulisserna så är nedanstående länk en bra utgångspunkt (ty den ligger till grund för den konfiguration vi kör):

http://dag.wieers.com/howto/ssh-http-tunneling/