Voici le rapport que j'ai fait pour l'installation et l'utilisation de VNC sous Linux.
Virtual Network Computing ou VNC est un logiciel utilisé pour se connecter à un ordinateur distant. Il permet de transmettre les saisies au clavier ainsi que les clics de souris d'un ordinateur à l'autre, à travers un réseau informatique, qu'il soit local ou par le biais d'Internet.
VNC est indépendant de la plateforme, un client VNC installé sur n'importe quel système d'exploitation peut se connecter à un serveur VNC installé sur un autre système d'exploitation. Plusieurs clients peuvent se connecter en même temps sur un même serveur VNC.
L'utilisation principale de ce logiciel est le support technique à distance. Il est aussi possible de visualiser des fichiers sur son ordinateur de travail à partir de son ordinateur personnel ou, pour un professeur, de contrôler ce que font ses élèves pendant le cours d'informatique.
Deux types de serveur VNC
Il existe deux types de serveur VNC. Le premier, que nous allons mettre en place en premier, consiste à prendre le contrôle du poste distant, donc à contrôler sa session ainsi que sa souris et son clavier.
Le deuxième type de serveur VNC créé une session "virtuelle" accessible par le client. Le client exploite donc les ressources du serveur pour utiliser cette session virtuelle. Il ne pourra donc pas interagir à la place du clavier et de la souris du serveur.
Installation du serveur
Pour commencer, nous allons installer un serveur VNC sur une machine Linux (qui sera donc la machine à contrôler à distance).
Le logiciel serveur que nous utiliserons est le suivant : x11vnc
apt-get install x11vnc
Installation des clients
Une fois le serveur installé, nous allons installer un client Linux un client Windows
Linux
Nous allons installer vncviewer grâce à cette commande : apt-get install xvncviewer
Windows
Nous allons installer le programme VNC (en choisissant seulement d'installer le client)
Mise en place du serveur
Voici la commande de base pour la mise en place du serveur :
x11vnc
Connexion sur le serveur
Linux
vncviewer 192.168.0.18 (-fullscreen)
Windows
Il suffit de renseigner l'adresse du serveur
Quelques commandes supplémentaires
Avec la configuration actuelle, dès que l'utilisateur se déconnecte du serveur, le serveur se coupe (pour des raisons de sécurité), afin de laisser le serveur allumé, il faut ajouter la commande suivante
-forever
Avec cette même configuration, seulement un utilisateur à la fois peut se connecter sur le serveur. Afin de permettre la connexion de plusieurs utilisateurs, il faut ajouter la commande suivante
-shared
Pour ne pas afficher tous les logs dans la console, utilisons la commande quiet.
-q
Les logs ne seront plus affichés à l'écran, cependant, il est possible de les sauvegarder dans un fichier grâce à cette commande
-o /repertoire/fichier
Plus de sécurité
Une première sécurité serait de n'autoriser qu'une connexion en "lecture seule" sur le serveur. Le client ne pourrait pas interagir sur le serveur depuis son poste client (utile pour la diffusion d'un diaporama par exemple).
La commande est la suivante
-viewonly
Pour l'instant, le serveur est accessible sans mot de passe, ce qui est une faille de sécurité certaine, surtout si le mode viewonly n'a pas été activé.
Voici donc la commande à exécuter sur le serveur afin de créer un mot de passe :
x11vnc -storepasswd
Puis, lancer le serveur en ajoutant la commande d'authentification
x11vnc -usepw
Une autre mesure de sécurité consiste à n'autoriser qu'une adresse IP ou une plage d'adresses à se connecter au serveur.
-allow 192.168.0.1,192.168.0.2 ou -allow 192.168.0.
Exécuter le serveur en background
Maintenant que le serveur est sécurisé, il est possible de le lancer en background, de manière à pouvoir faire autre chose sur la machine serveur.
Pour cela, il faut ajouter la commande suivante au lancement du serveur
-bg
Lorsque le serveur tourne en tant que service, il est possible de modifier "en direct" la configuration du serveur grâce à la commande remote.
-R
Par exemple, pour déconnecter un ou plusieurs clients, utilisons cette commande
x11vnc -R disconnect:all ou x11vnc disconnect:192.168.0.1
Différentes option peuvent être ainsi modifiées
-R stop : arrête le serveur
-R shared ou -R noshared
-R forever ou -R noforever
-R viewonly ou -R noviewonly
Lancer le serveur au démarrage de l'ordinateur
Il pourrait être utile de lancer ce serveur en démarrage afin qu'il soit toujours activé sur la machine.
Pour cela, dans le menu "Bureau", choisir "Préférences, Sessions". Puis, dans l'onglet "Programmes au démarrage", cliquer sur "Ajouter" puis entrer la commande suivante :
x11vnc -display :0 -forever -shared -usepw -q -o /home/login/log -bg
Deuxième type de serveur VNC
Le deuxième type de serveur créé une session virtuelle. Pour installer le serveur, voici la commande
apt-get install vncserver
Pour lancer le serveur, voici la commande :
vncserver
Pour lancer le client, voici la commande :
vncviewer 192.168.0.45:1 (:1 si c'est la première session, dans ce cas, port = 5901)