I can connect to my private work network using Putty with the following settings:

  • Hostname: login.example.com
  • Port: 502
  • SSH Forwarded Ports: D8888

This opens an SSH socks proxy which allows me to access internal servers. I again use Putty to connect to the internal Ubuntu server using the socks proxy above.

Now I want to get the server GUI using VNC, but I am unable to connect with the socks proxy. I tried forwarding the ports, but since I am newbie to this, I may have done it incorrectly. So how can I run VNC from my Windows machine to access the remote VNC server?

This article did not help me to connect using vncserver. RDP isn't working, either. The VNC session is on a different server accessible only from login.example.com as a socks proxy.

Note: I am able to SSH to the internal servers using the configuration above with the login.example.com as socks proxy in Putty.

  • What VNC client are you using? Is the VNC session on login.abc.com, or a different server?
    – jjlin
    Sep 26, 2013 at 19:15
  • @jjlin on a different server accessible only from login.abc.com via a socks proxy. I followed the same client and steps as in the linked above article
    – suuser
    Sep 27, 2013 at 3:02

2 Answers 2


If you're using the RealVNC viewer, as shown in the article you cited, then you should be able to do the following:

  1. Use PuTTY to connect to login.abc.com and set the D8888 forwarding (which you said you've already been doing).
  2. Start RealVNC viewer and click the Options... button.
  3. Select the Connection tab.
  4. Click the Use these proxy settings radio button.
  5. Set Proxy type to SOCKS 5.
  6. Set Proxy address and port to localhost:8888.
  7. Now try connecting to the actual VNC server, e.g. vnc-server.abc.com:1. Don't use localhost:1, as you should be going through the SOCKS proxy.

Most VNC clients don't support SOCKS proxies so can't use the dynamic port forwarding (the D in D8888). You can forward a local port to a specific machine+port instead but it will mean one such local port mapping per remote system you want to VNC to. (This is in the article you linked to - it shows such a mapping to the localhost at the other end of the SSH tunnel). You then VNC connect to the forward port on your local machine and SSH tunnels it for you to the specific remote address:port.

Forwarded Ports: L8889 x.x.x.x:5900 (x.x.x.x address of machine you want to VNC to)

Some VNC clients do support SOCKS proxies but it tends to the paid / pro version.

  • the above linked artile vncserver does support socks. But the problem is that ssh://login.abc.com:5022 is the only accessible server which runsopenssh using which I need to connect to other internal servers inaccessible from outside. I am already able to do this , but the only thing is that it does not work with vnc
    – suuser
    Sep 27, 2013 at 3:07
  • The client needs to support going through a SOCKS proxy. Simple port forwarding isn't a SOCKS proxy.
    – Brian
    Sep 27, 2013 at 20:22

You must log in to answer this question.

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