O servidor e o cliente VNC devem fazer o trabalho. Eu gosto de TightVNC , mas existem muitas outras implementações se você não gostar deste por algum motivo.
Você pode configurar o servidor para aceitar conexões somente para visualização sem senha, mas conexões de controle remoto apenas com uma senha.