Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Reddit is blocked by my ISP. :(
I want to bypass it using SSH Tunneling.

I have an (trusted) remote web server I can use (have the username and password).
I have downloaded PuTTY and can successfully establish a connection to the server.

Here's the first three lines of PuTTY's connection console: (my username and host is hidden)

login as: <my-username>
<my-username>@<my-host> password:
Linux debianx 2.6.26-2-amd64 #1 SMP Sun Mar 4 21:48:06 UTC 2012 x86_64

I also tried executing this command:

ssh -D 8080 -f -C -q -N -p 2222 <my-username>@<my-host> &

And it responds with this result: [1] 12284. What does that mean?

The question is, is it possible to create an SSH Tunnel to bypass my ISP's internet filtering with all I have?

Another question, I use Mozilla Firefox, and when I entered the "SOCKS Host", should I use SOCKS v4 or SOCKS v5?

Note: I'm very newbie and don't have much knowledge on internet protocols. Sorry for dumb questions.

share|improve this question
up vote 0 down vote accepted

This will connect to the SSH server, go in the background and listen on the local interface for SOCKS connections to port 1080.

enter image description here

enter image description here

Now that you have a SOCKS proxy listening on, port 1080, you can configure any application that can use a SOCKS proxy to use it.

share|improve this answer
Thank you very much! Works like a charm! However I want to ask, I have tried it before, but using port number 8080, instead of 1080 like in your answer. Why didn't it work? – topher Jul 12 '14 at 15:43
8080 ommonly used for Web proxy. 1080 is for SOCKS proxy. SOCKS proxy only establishes connection at TCP level while HTTP proxy interpret traffic at HTTP level. Thus SOCKS proxy can work for any kind of protocol but HTTP Proxy can only handle HTTP traffic. A SOCKS server is a general purpose proxy server that establishes a TCP connection to another server on behalf of a client, then routes all the traffic back and forth between the client and the server. It works for any kind of network protocol on any port. SOCKS Version 5 adds additional support for security and UDP. – Ruslan Gerasimov Jul 12 '14 at 23:57
The SOCKS server does not interpret the network traffic between client and server in any way, and is often used because clients are behind a firewall and are not permitted to establish TCP connections to servers outside the firewall unless they do it through the SOCKS server. Most web browsers for example can be configured to talk to a web server via a SOCKS server. Because the client must first make a connection to the SOCKS server and tell it the host it wants to connect to, the client must be "SOCKS enabled." – Ruslan Gerasimov Jul 12 '14 at 23:58
That explains a lot, thanks! :D – topher Jul 13 '14 at 6:40
I am glad that it helped! – Ruslan Gerasimov Jul 13 '14 at 7:05

You do need to use SOCKS5. This article has details for PuTTY.

You tried to set up tunneling by running a command on your server; instead, you need to configure PuTTY. Before connecting, in PuTTY, under Connection > SSH > Tunnels, you need to add a dynamic tunnel, e.g. on port 8080, then configure Firefox.

share|improve this answer
Welcome to Super User! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. – Canadian Luke Jul 11 '14 at 19:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .