I want to connect to a Linux box from Windows pc remotely. But I want the session to be encrypted. Since VNC free version and Windows Remote Desktop (RDP) don't support encryption, I am looking for other options. Although X2go serves my purpose well, I want another free alternative. Can I tunnel Windows Remote Desktop through ssh from Windows pc to connect to a Linux box? If it's possible what's the procedure? I know Windows Remote Desktop Supports SSL/TLS but I don't know how to configure xrdp on linux to allow rdp with SSL/TLS from windows box. Please, suggest me If there is other alternatives or work-around. I just want to connect to Linux machine from a windows box graphically and securely. And I don't want to enable UPnP on the router.
As suggested in @BrandonXavier's comment, an excellent way to securely connect to a VNC server is through an SSH tunnel, specifically with local port forwarding. This answer details how to do so using PuTTY's graphical interface.
Once done, the port you choose on your local machine will be bound to the VNC/RDP/whatever port on the remote Linux machine, but safely tunneled over SSH. So, you will connect your RDP/VNC/whatever client to
localhost:<local_port> instead of the remote Linux machine's address.
I use ultravnc with plugin for encryption and it's totally free: http://www.uvnc.com/downloads/encryption-plugins/87-encryption-plugins.html