VNC only over SSH

Bind your VNC server to localhost and do an SSH proxy to your server and tunnel VNC (client) over said proxy.


All you need is explained here: Reversing an ssh connection