Vincule seu servidor VNC ao localhost e faça um proxy SSH ao seu servidor e tunelize o VNC (cliente) sobre o referido proxy.
Como posso configurar o servidor VNC para que possa ser acessado somente via túnel SSH?
Com a configuração padrão do servidor VNC, existem pelo menos duas maneiras para que outra pessoa faça o login no meu computador: registrando diretamente no meu servidor VNC e no meu servidor SSH. Duas portas para se preocupar.
Tudo o que você precisa é explicado aqui: Invertendo uma conexão ssh
Se você usa o CentOs, há um guia bastante útil em aqui .