Verwenden von OpenSSH durch einen Socks- oder HTTP-Proxy mit connect.c
Wer so wie ich in einem Netzwerk (Schule) hinter einem Proxy sitzt, kennt das Problem, daß man nicht so einfach SSH-Verbindungen (unter Linux) aufgebaut bekommt.
Eine wirklich gute Alternative bietet da connect.c von Shun-ichi Goto an (arbeitet transparent).
Download: http://www.imasy.or.jp/~gotoh/connect.c
Auf der Shell als Root:
$ su - $ wget http://www.imasy.or.jp/~gotoh/connect.c $ gcc -o sconnect connect.c $ cp sconnect /usr/local/bin $ nano ~/.ssh/config
und die folgenden Zeilen eintragen:
Host * ProxyCommand /usr/local/bin/sconnect -4 -S your-socks-server:1080 %h %p # oder als Proxy # ProxyCommand connect /usr/local/bin/sconnect -4 -H proxy.local.net:8080 %h %p
Nun ein Test:
ssh deinusername@deinhost.de
Falls die Verbindung nicht aufgebaut wird, kann es daran liegen, daß der Proxy den Hostnamen nicht auflösen kann, da kann man evtl. die IP der jeweiligen SSH-Adresse eintippen und probieren ;). Also z.B.
ssh deinusername@217.217.217.217
Wenn immer noch keine Verbindung aufgebaut werden kann, probiert man am besten als root, den gleichen Eintrag wie oben in die Datei /etc/ssh/ssh_config einzutragen. Wenn es dann auch nicht klappt, kann man statt dem Proxy-Eintrag den Socks-Eintrag verwenden, vorausgesetzt, es ist ein Socks-Server installiert. Meine Erfahrung hat aber gezeigt, daß zu 90% dies der Fall ist. Leider habe ich schon alles Mögliche erlebt, was proxy/socks-Verbindungen angeht, deswegen gibt es auch mehrere Lösungsmöglichkeiten, aber letztendlich hat es immer funktioniert.

