SSH durch HTTP bzw. Socks Proxy tunneln

Wer kennt das nicht? Ich bin gerade in der Firma und muss vomm Rechner zuhause ein Dokument holen. Die Firewall der Firma lässt aber keine dirkete SSH-Verbundung zu. Was tun?

Es besteht die Möglichkeit über einen normalen HTTP- bzw. Socks-Proxy eine SSH-Verbindung nach aussen zu tunneln.
Wie geht das? Nun eigentlich ganz einfach. Solaris bringt alles mit. Bei Linux muss ein eventuell ein kleines Programm (connect-proxy) nachinstalliert werden.
Linux (hier am Beispiel von Debian)

# apt-get install connect-proxy

Die Konfiguration wird in ~/.ssh/config vorgenommen
Beispiel für einen HTTP-Proxy

Host <hostname_alias>
Hostname <hostname>
ProxyCommand connect-proxy -H <proxy_server>:<port> %h 22

Bei Verbindung über einem Socks-Proxy

Host <hostname_alias>
Hostname <hostname>
ProxyCommand connect-proxy -S <proxy_server>:<port> %h 22 

Solaris
~/.ssh/config für einen Tunnel über Socks-Proxy

Host <hostname>
ProxyCommand /usr/lib/ssh/ssh-socks5-proxy-connect -h <proxy_server>; -p <port> %h %

~/.ssh/config HTTP-Tunnel

Host <hostname>
ProxyCommand /usr/lib/ssh/ssh-http-proxy-connect -h <proxy_server> -p <port> %h %

Wenn nun ganz normal mit ’ssh user@hostname.domain.bla’ eine Verbindung aufgebaut wird, sollte alles funktionieren.


About this entry