I'm looking to setup a tunnel using PuTTY on Windows.

Ideally I'd SSH directly from A->C, however, I can't from the network I'm on. I can, however connected from A->B->C.

C is running a vncserver, which I'd like to connect to from A.

How can I tunnel through SSH from A->B->C?


You can use the ProxyCommand.

ssh -A -t ruapehu.example.com ssh -A -t aoraki ssh -A tongariro

There's a good article on the topic on SSHMenu (which is for Linux).

You mentioned PuTTY and so here's something to read after the above article.

If you meant to ssh a specific port, you can always try something like this:

ssh test@example.com -t -L 8042: 'ssh test@ -t -L 8042: 'ssh -L 8042: admin@

If you want to connect from A (vnc client) to C (vnc server) you have to run the equivalent with putty of the following ssh command (on the host A):

 ssh -L 5900:hostC.yourdomain.com:5900 hostB.yourdomain.com

This command will make a tunnel from A to B and connect directly the tunnel to your host C.

Already on the host A, you just have to launch the vnc client to the loopback address localhost:5900

  • This should have been chosen as the correct answer. – Diagon Dec 14 '17 at 23:23
  • You need to have a tunnel running already on C? In other words, this isn't the complete command? – Raffi Khatchadourian Feb 23 '18 at 21:33

Not the answer you're looking for? Browse other questions tagged or ask your own question.