RDP access over a SSH tunnel

Nov 20, 2013 at 9:17 PM
We have a bunch of windows servers at various locations. The servers are behind firewalls that don't allow any incoming ports. As a result we cannot Remote Desktop directly to any of the servers from the Internet (without resorting to VPN which is what we do today).

I would like to see if it's possible to create an RDP "broker" service that uses SSH tunneling to facilicate this direct connection. This is what I am thinking based on my understanding of the technology but I am not sure:
  • Set up a windows service on the remote Windows server.
  • Set up another Windows service - the broker - at our HQ.
  • Open up whatever port necessary at HQ for the windows service at the remote location to connect and establish an SSH tunnel with the broker service at HQ.
  • Provide an API in the broker that provides a user with the IP/Port combination they should use with their RDP client depending on the windows server they want to connect with. The IP/port combination is an available combination on the broker server's local network interface.
  • The HQ user starts their Remote Desktop Client application on their PC and connects to the broker on the IP/port provided. Doing so connects the user to the desired windows server.
Is this possible with ssh.net and if so, can you plese provide or point me to some sample code for both the remote service and the broker?

Thanks.