Right now I’m sitting in Germany, and as it happens to be – behind a friggin’ PROXY. This has been done to prevent illegal file downloading. For those not in the know, a proxy is like a middle man that you say what you want, and then he gives it to you. This guy is only serving web pages through port 3128 (meaning it’s a Squid proxy).
Now, I wanted to log into the server at my university through SSH, but this «ISP» (it’s the guys upstairs) has decided that is not allowed. Actually, I think he hasn’t thought about the possibility of someone wanting this, but anywaaays… Since I needed to install a great file manager script (more about this in the next posting) I was desperate.
Of course someone had come up with an answer, and Google was willing to tell. (The following only applies to Linux). The link will take you to a massive article, but all that is needed is this:
Download connect.c. This is a HTTP-tunneling program that will use the available port (3128) to make a tunnel to the server we want to connect to. On Debian or Ubuntu you get it like this
apt-get install connect-proxy
Now, make a file called ProxyConfig and put it in the «.ssh» folder in your home directory. It should contain the following, just changing «192.168.2.246:3128» to what is right for you, i.e. «adress_of_proxy:proxy_port»
ProxyCommand connect -H 192.168.2.246:3128 %h %p
Now you can connect to your SSH-server like this (in my instance, login.stud.ntnu.no)
ssh -F $HOME/.ssh/ProxyConfig firstname.lastname@example.org
Voilá! You should now be in.
By the way – this could be used to circumvent the file downloading restrictions aforementioned. But we wouldn’t want to do that 😉