Comment installer et configurer VNC sur Ubuntu 14.04

introduction

VNC, ou «Virtual Network Computing», est un système de connexion qui vous permet d'utiliser votre clavier et votre souris pour interagir avec un environnement de bureau graphique sur un serveur distant. VNC facilite la gestion des fichiers, des logiciels et des paramètres sur un serveur distant pour les utilisateurs qui ne maîtrisent pas encore la ligne de commande.

Dans ce guide, nous allons configurer VNC sur un serveur Ubuntu 14.04 et nous y connecter en toute sécurité via un tunnel SSH. Le serveur VNC que nous allons utiliser est TightVNC, un package de contrôle à distance rapide et léger. Ce choix garantira que notre connexion VNC sera fluide et stable, même sur des connexions Internet plus lentes.

Conditions préalables

Avant de commencer avec ce guide, vous devez d'abord suivre certaines étapes.

Vous aurez besoin d'un serveur Ubuntu 14.04 installé et configuré avec un utilisateur non root disposant des privilègessudo. Si vous ne l'avez pas encore fait, vous pouvez suivre les étapes 1 à 4 desUbuntu 14.04 initial server setup guide pour créer ce compte.

Une fois que vous avez votre utilisateur non root, vous pouvez l’utiliser pour SSH sur votre serveur Ubuntu et poursuivre l’installation de votre serveur VNC.

[[step-one -—- install-desktop-environment-and-vnc-server]] == Étape 1 - Installer l'environnement de bureau et le serveur VNC

Par défaut, la plupart des installations de serveur Linux ne seront pas livrées avec un environnement de bureau graphique. Si tel est le cas, nous devrons commencer par en installer un avec lequel nous pourrons travailler. Dans cet exemple, nous installerons XFCE4, qui est très léger tout en restant familier à la plupart des utilisateurs.

Nous pouvons obtenir les packages XFCE, ainsi que le package pour TightVNC, directement à partir des référentiels logiciels d'Ubuntu en utilisantapt:

sudo apt-get update
sudo apt-get install xfce4 xfce4-goodies tightvncserver

Pour terminer la configuration initiale du serveur VNC, utilisez la commandevncserver pour configurer un mot de passe sécurisé:

vncserver

(Après avoir configuré votre mot de passe d'accès, il vous sera demandé si vous souhaitez entrer un mot de passe en lecture seule. Les utilisateurs qui se connectent avec le mot de passe en lecture seule ne pourront pas contrôler l'instance de VNC avec leur souris ou leur clavier. C'est une option utile si vous souhaitez montrer quelque chose à d'autres personnes utilisant votre serveur VNC.)

vncserver termine l'installation de VNC en créant des fichiers de configuration par défaut et des informations de connexion à utiliser par notre serveur. Avec ces packages installés, vous êtes prêt à configurer votre serveur VNC et votre bureau graphique.

[[step-two -—- configure-vnc-server]] == Étape deux - Configurer le serveur VNC

Premièrement, nous devons dire à notre serveur VNC quelles commandes exécuter lorsqu’il démarre. Ces commandes se trouvent dans un fichier de configuration appeléxstartup. Notre serveur VNC a déjà un fichierxstartup préchargé, mais nous devons utiliser des commandes différentes pour notre bureau XFCE.

Lorsque VNC est configuré pour la première fois, il lance une instance de serveur par défaut sur le port 5901. Ce port est appelé un port d'affichage et est appelé par VNC:1. VNC peut lancer plusieurs instances sur d'autres ports d'affichage, comme:2,:3, etc. Lorsque vous travaillez avec des serveurs VNC, n'oubliez pas que:X est un port d'affichage qui fait référence à5900+X.

Dans la mesure où nous allons modifier la configuration de nos serveurs VNC, nous devons d’abord arrêter l’instance de serveur VNC exécutée sur le port 5901:

vncserver -kill :1

Avant de commencer à configurer notre nouveau fichierxstartup, sauvegardons l'original au cas où nous en aurions besoin plus tard:

mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Nous pouvons maintenant ouvrir un nouveau fichierxstartup avecnano:

nano ~/.vnc/xstartup

Insérez ces commandes dans le fichier pour qu'elles soient exécutées automatiquement à chaque démarrage ou redémarrage de votre serveur VNC:

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

La première commande du fichier,xrdb $HOME/.Xresources, indique à l’infrastructure graphique de VNC de lire le fichier.Xresources de l’utilisateur du serveur. .Xresources est l'endroit où un utilisateur peut apporter des modifications à certains paramètres du bureau graphique, comme les couleurs du terminal, les thèmes de curseur et le rendu des polices.

La deuxième commande indique simplement au serveur de lancer XFCE, où se trouvent tous les logiciels graphiques dont vous avez besoin pour gérer confortablement votre serveur.

Pour que le serveur VNC puisse utiliser correctement ce nouveau fichier de démarrage, nous devons lui octroyer des privilèges exécutables:

sudo chmod +x ~/.vnc/xstartup

[[step-three -—- create-a-vnc-service-file]] == Étape trois - Créer un fichier de service VNC

Pour contrôler facilement notre nouveau serveur VNC, nous devons le configurer en tant que service Ubuntu. Cela nous permettra de démarrer, d’arrêter et de redémarrer notre serveur VNC selon les besoins.

Tout d'abord, ouvrez un nouveau fichier de service dans/etc/init.d avecnano:

sudo nano /etc/init.d/vncserver

Le premier bloc de données sera l'endroit où nous déclarons certains paramètres communs auxquels VNC se référera beaucoup, comme notre nom d'utilisateur et la résolution d'affichage.

#!/bin/bash
PATH="$PATH:/usr/bin/"
export USER="user"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"
. /lib/lsb/init-functions

Assurez-vous de remplaceruser par l'utilisateur non root que vous avez configuré et changez1024x768 si vous souhaitez utiliser une autre résolution d'écran pour votre affichage virtuel.

Ensuite, nous pouvons commencer à insérer les instructions de commande qui nous permettront de gérer le nouveau service. Le bloc suivant lie la commande nécessaire pour démarrer un serveur VNC et indique qu'il est en cours de démarrage, au mot-clé de commandestart.

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

Le bloc suivant crée le mot-clé de commandestop, qui tuera immédiatement une instance de serveur VNC existante.

stop)
log_action_begin_msg "Stopping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

Le dernier bloc est pour le mot-clé de commanderestart, qui est simplement les deux commandes précédentes (stop etstart) combinées en une seule commande.

restart)
$0 stop
$0 start
;;
esac
exit 0

Une fois que tous ces blocs sont dans votre script de service, vous pouvez enregistrer et fermer ce fichier. Rendez ce script de service exécutable, de sorte que vous puissiez utiliser les commandes que vous venez de configurer:

sudo chmod +x /etc/init.d/vncserver

Essayez maintenant d’utiliser le service et la commande pour démarrer une nouvelle instance de serveur VNC:

sudo service vncserver start

[[step-four -—- connect-to-your-vnc-desktop]] == Étape 4 - Connectez-vous à votre bureau VNC

Pour tester votre serveur VNC, vous devez utiliser un client prenant en charge les connexions VNC sur des tunnels SSH. Si vous utilisez Windows, vous pouvez utiliser TightVNC, RealVNC ou UltraVNC. Les utilisateurs de Mac OS X peuvent utiliser le partage d'écran intégré ou une application multiplate-forme telle que RealVNC.

Tout d'abord, nous devons créer une connexion SSH sur votre ordinateur local qui transmet en toute sécurité à la connexionlocalhost pour VNC. Vous pouvez le faire via le terminal sous Linux ou OS X via la commande suivante:

(N'oubliez pas de remplaceruser etserver_ip_address par le nom d'utilisateur et l'adresse IP que vous avez utilisés pour vous connecter à votre serveur via SSH.)

ssh -L 5901:127.0.0.1:5901 -N -f -l user server_ip_address

Si vous utilisez un client SSH graphique, comme PuTTY, utilisezserver_ip_address comme IP de connexion et définissezlocalhost:5901 comme nouveau port transféré dans les paramètres du tunnel SSH du programme.

Ensuite, vous pouvez utiliser votre visionneuse VNC pour vous connecter au serveur VNC àlocalhost:5901. Assurez-vous de ne pas oublier que:5901 à la fin, car c'est le seul port à partir duquel l'instance VNC est accessible.

Une fois que vous êtes connecté, le bureau XFCE par défaut devrait être prêt à être configuré et utilisé! Ça devrait ressembler a quelque chose comme ca:

First VNC<br> connection

Une fois que vous avez vérifié que la connexion VNC fonctionne, ajoutez votre service VNC aux services par défaut, de sorte qu'il démarre automatiquement à chaque démarrage du serveur:

sudo update-rc.d vncserver defaults

Conclusion

Vous devriez maintenant avoir un serveur VNC sécurisé opérationnel sur votre serveur Ubuntu 14.04. Vous pourrez désormais gérer les fichiers, les logiciels et les paramètres de votre serveur avec une interface graphique conviviale.