VNC reverse connection

No Comments

Comes in very handy. Yes sir! On Wednesday, a friend of mine needed help getting his webcam working under Ubuntu 8.10. Because he is not so versatile with Linux yet, he suggested I should do it for him, ie. compiling some modules on his notebook using remote maintenance.

First, we tried using SSH, which would have been the easiest choice, because I basically would have only required the command line, although I would still retain the option to use X11 forwarding to start some GUI applications. This didn't work out well. A quick port scanning returned the result, that there's probably a very aggressively proxy and/or firewall (combination) set up by his ISP, thus only port 80 was opened to the outside. From within his on LAN, he could use anything, including ICQ.

So I asked some friends of mine via ICQ, if there was an option to do something like a back tunnel using SSH. Instead, I got the suggestion to try out 'VNC reverse connection', which turned out pretty well. There was some troubles at first getting it to work, because all HowTos I found about this topic are assume that you're trying to connect to Windows host using a Linux or Mac client.

I've solved that problem by doing some reading of the TightVNC Documentation, which revealed a tool called vncconnect. This probably is the command-line client the Windows host GUI is relying on when using the option 'add new user' out of the SysTray.

Let's note it down quickly:

  1. The system that you want to connect remotely to (= Host) has to install VNC Server - in my case, my friend installed tightvn, using a direct download from the TightVNC HQ; but should would with any other package, like vnc4server
  2. Start it up and do the password thingy - you are not going to need it anyway, because afterwards the host system is going to connect to you and not the other way around
  3. For the client side, we install the xvnc4viewer package and start it up with xvnc4viewer -listen. This will put the viewer app into listening mode, waiting for a incoming connection request - if that happens, it'll automatically open a window displaying the remote side by itself
  4. Next on, you have to open the port 5500 on your router or firewall to allow the remote host to connect with your system
  5. Now we are ready to roll: Find out your outside IP address - eg. using this site - hand it over to the guy or gal you want to get your VNC client connected with and let him or her enter the following stuff on some command prompt: vncconnect YourIPAdress:5500.
  6. If this doesnt work out, try vncconnect -display RemoteScreenName YourIPAdress:5500, eg. vncconnect -display linuxbox 127.0.0.1:5500

So afterwards I finally could compile the stuff my friend needed to get his bloody webcam working - or at least, what should get it working. It still doesnt do so, yet. Thus either we gonna fiddle around with the bloody modules a bit more, or else he has to buy another webcam, eg. a Logitech e3500, which is said to be working best with current Linux kernels.

Finally, some links for further reading:

Comments are closed for this post