Para um pouco mais de segurança, não deixo o VNC rodando o tempo todo. Eu SSH na máquina e, em seguida, inicie o servidor VNC usando o seguinte comando:
x11vnc -safer -localhost -nopw -once -display: 0
Para facilitar, eu tenho o comando em um script de shell, então é apenas um caso de SSH para o servidor, seguido pelo comando startvnc.sh.
Dessa forma, uma vez desconectado, o VNC não estará mais disponível.
Para ainda mais segurança, você pode tunelar o VNC pela conexão SSH.
Este link fornece detalhes sobre como encaminhar as portas corretas .