Créer un serveur VNC simplement sous Debian


Un serveur VNC permet le contrôle à distance d'un poste (serveur) à partir d'un autre poste (client).
Il existe une multitude de programmes permettant de créer un serveur VNC, certains sont compliqués, d'autres le sont moins comme x11vnc.

L'avantage de ce programme est qu'il est très léger, nécessite peu de dépendances et enfin permet de régler le serveur de sorte que lors d'un accès celui-ci ne soit pas trop lent même depuis une petite connexion.

Installation et configuration :


Pour installer x11vnc il faut installer deux paquets depuis les dépôts :
# aptitude install x11vnc xvnc4viewer

Une fois x11vnc installé, il est important de créer un mot de passe (en tant qu'utilisateur) pour ne pas laisser n'importe qui se connecter à celui-ci.
$ x11vnc -storepasswd

Il ne vous reste plus qu'à trouver un mot de passe assez fort (qu'il ne faudra pas oublier) pouvant résister aux attaques par dictionnaires et compagnie. Par exemple ii84-d3b14npk87_&-str0ngn8n n'est pas trop mal...


Utilisation (côté serveur)


Une fois que tout est prêt, il suffit de lancer le serveur VNC, et pour cela une seule commande suffit :
$ x11vnc -usepw -noxdamage -forever -display :0 &
Où :

-usepw est très important, car il oblige l'accès au serveur par mot de passe.
-noxdamage permet de ne pas prendre en compte certains effets graphiques du bureau distant. Cette option augmente les performances.
-forever quant à lui indique au serveur qu'il doit rester connecter tout le temps, par défaut le serveur ne permet qu'une seule connexion puis se ferme.


Lancement automatique sous Gnome


Si votre serveur est sous l'environnement de bureau Gnome, vous pouvez très simplement lancer le serveur VNC au démarrage de celui-ci.

Nous allons simplement créer un script bash en l'ajoutant à la liste des applications à démarrer juste après Gnome :
$ touch serveur_vnc.sh
$ echo 'x11vnc -usepw -noxdamage -forever -display :0 &' >> serveur_vnc.sh
$ chmod u+x serveur_vnc.sh
Ensuite, rendez-vous dans le menu Système -> Préférences -> Sessions

Attention : ne lancez jamais un serveur VNC en tant que root.

Utilisation (côté client)


Sur le poste client, il suffit de taper cette commande en tant que simple utilisateur :
$ xvnc4viewer XX.XX.XX.XXX:5900:0

XX.XX.XX.XXX correspond à l'adresse IP du serveur.

Conclusion


Cette méthode se veut simple et compréhensible par tous. Il faut savoir que pour plus de sécurité, le mieux est de lancer le serveur VNC dans un tunnel SSH. Cela dit dans la plupart des cas, cette méthode suffit.

Note : pensez également à ouvrir le port 5900 que ce soit pour un pare-feu logiciel ou matériel.