Ssh – tunneling VNC/rdesktop over ssh

firewallsshssh-tunneling

I'm having a friend behind a firewall, with a windows computer. I'm having a Linux machine at home which is not behind a firewall.

I want to have an rdesktop connection to his machine, without using any intermediate service such as LogMeIn.

My plan is:

  1. Have him SSH to my machine (SSH is allowed by the firewall), and set the appropriate tunnel.
  2. Activate rdesktop/vnc on my machine, on the currently ran X server.

What I don't like about it, is the hassle of running programs as his user on the currently running X server. I'd rather have him set the tunnel somehow for my user, so that I'll just be able to rdesktop localhost:1234 as long as he's connected to me.

Any smarter way?

Best Answer

I would prefer to setup a vpn (openvpn for example) with server on your machine and client on your friend's machine. When he wants you to connect, he opens the vpn (no login involved on your machine) and you open your remote desktop client to his machine's IP (at least with openvpn, you can assign a "fixed" IP to his machine so you can save it, not needing to look at it everytime).

This way you have no login to your machine and you only access his machine when he opens the VPN. On the other side, you can shutdown the server when you don't want him to connect to your machine. Anyways, if you don't give him a user on your machine (or a user with only the access you want), he won't be able to to much there.

And this way, you can do it with more friends easily if needed as they only need to install the vpn client.

Related Question