VNC (Virtual Network Computing) vous permet d'utiliser votre serveur tout comme vous utilisez votre ordinateur - avec l'interface graphique (GUI), le bureau, ainsi que votre souris et votre clavier. Cela facilite l'informatique pour les utilisateurs qui débutent sur un serveur.
CloudSigma vous permet d'accéder à VNC immédiatement après la création du serveur. En plus de cela, dans ce tutoriel, vous allez configurer un serveur VNC sur Ubuntu 18.04 et vous y connecter à l'aide d'un tunnel sécurisé. Pour ce tutoriel, vous utiliserez TigerVNC, un paquet de serveur VNC léger et rapide. Il permettra une expérience fluide, même sur des réseaux lents.
Prérequis
Tout d'abord, vous devez créer une machine. Vous pouvez le faire facilement dans la section de calcul de la WebApp de CloudSigma :

Pour ce tutoriel, vous pouvez utiliser les ressources suivantes :
CPU : 8 GHz
RAM : 8 Go
SSD : 50 Go
Vous pouvez monter le disque avec Ubuntu 18.04 l'image LTS disponible dans la bibliothèque de CloudSigma :
Ubuntu 18.04 : 64 bits préinstallé avec pilotes VirtIO, superutilisateur, Python 2.7.17, Pip 20.0.2 OpenSSL 1.1.1d, Cloud-init et les dernières mises à jour jusqu'au 2019-03-03.
Après avoir démarré la machine, vous pouvez mettre à jour tous les dépôts et paquets existants sur la machine en exécutant les commandes suivantes :
|
1 2 |
sudo apt update sudo apt upgrade |
Fonctionnalité VNC de CloudSigma
CloudSigma vous offre un moyen simple d'accéder à vos machines via VNC.

Vous pouvez cliquer sur le bouton de bascule de VNC Tunnel’s pour l'activer. Une fois cela fait, vous verrez cet écran.

Si vous avez associé une clé SSH, vous devrez accéder au serveur et modifier le mot de passe à l'aide de la commande suivante :
|
1 2 3 |
ssh -i key.pem cloudsigma@IP sudo passwd cloudsigma |
Si vous n'avez pas associé de clé SSH, vous pouvez ignorer l'étape ci-dessus. Vous trouverez le mot de passe dans les Notes d'installation.
Vous pouvez soit cliquer sur ‘Display VNC’ pour ouvrir la fenêtre VNC dans le navigateur, soit sur ‘Display VNC URL’ pour voir les détails requis pour vous y connecter avec un client VNC. Lorsque vous cliquez sur ‘Display VNC’, un nouvel onglet s'ouvre et vous demande vos identifiants. Vous pouvez l'utiliser de la même manière que vous utiliseriez la VM avec un client VNC.

Nous allons maintenant voir l'autre façon d'installer VNC sur un serveur.
Installation du serveur VNC
L'image Ubuntu ne contient pas les paquets GUI par défaut. Nous allons installer les paquets pour le dernier environnement de bureau XFCE et le paquet TigerVNC disponible sur le dépôt d'Ubuntu.
Vous pouvez installer le paquet XFCE à l'aide de la commande suivante :
sudo apt install xfce4 xfce4-goodies
Après l'installation des paquets XFCE, vous pouvez installer le serveur TigerVNC à l'aide de la commande suivante :
|
1 |
sudo apt install tightvncserver |
Pour terminer la configuration, exécutez la commande suivante et configurez un mot de passe pour la connexion VNC :
|
1 |
vncserver |
Lors de l'exécution de la commande ci-dessus, il vous sera demandé si vous souhaitez vous connecter avec un mot de passe en lecture seule. Avec un mot de passe en lecture seule, vous pouvez uniquement voir l'écran mais pas utiliser le système. Cette option est utile si vous souhaitez que quelqu'un d'autre puisse voir l'écran sans pouvoir l'utiliser.
Ensuite, la commande créera toutes les configurations requises. À ce stade, vous pouvez utiliser le serveur VNC depuis un système distant ou votre ordinateur. Dans le cadre de ce tutoriel, nous allons configurer davantage notre serveur avant de l'utiliser.
Configuration du serveur VNC
Dans cette section, nous allons vous montrer comment configurer le bureau préféré à utiliser.
Vous devez configurer ces commandes dans un fichier nommé ‘xstartup’ dans le dossier .vnc de votre répertoire personnel. Lorsque vous avez exécuté la commande vncserver pour la première fois, le script de démarrage a été créé. Vous allez en créer un autre pour lancer le bureau XFCE.
De plus, lorsque vous avez exécuté la commande vncserver pour la première fois, elle a lancé une instance de serveur par défaut avec le port 5901. Ce port est appelé port d'affichage et est désigné par VNC sous le nom de “:1”. Si vous réexécutez la commande, VNC créera une autre instance “:2” sur d'autres ports, et ainsi de suite.
Puisque vous allez configurer le serveur VNC, arrêtez les instances déjà en cours d'exécution :
|
1 |
vncserver -kill :1 |
Avant de modifier le fichier de démarrage, effectuez une sauvegarde du fichier d'origine :
|
1 |
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak |
Maintenant, vous pouvez modifier le fichier d'origine à l'aide de l'éditeur vim et remplacer son contenu par le suivant :
|
1 2 3 4 5 6 7 |
vim ~/.vnc/xstartup Contenu: #!/bin/bash xrdb $HOME/.Xresources startxfce4 & |
Chaque fois que vous démarrez ou redémarrez le vncserver, le processus exécute les commandes de ce fichier. Ces commandes démarrent l'environnement de bureau s'il n'est pas déjà démarré.
La première commande, “xrdb $HOME/.Xresources” indique au framework GUI de lire les configurations à partir de cet emplacement. Vous pouvez configurer divers paramètres du bureau comme les couleurs du terminal, les thèmes de curseur, etc. La deuxième commande démarre XFCE.
Pour vous assurer que le serveur VNC peut exécuter le fichier, vous devez modifier ses autorisations :
|
1 |
sudo chmod +x ~/.vnc/xstartup |
Après la modification des autorisations, vous pouvez maintenant exécuter le serveur VNC :
|
1 |
vncserver |

Maintenant que le serveur est prêt, nous pouvons nous y connecter depuis notre ordinateur.
Création d'un tunnel sécurisé pour la connexion VNC
Comme VNC n'utilise pas de protocoles sécurisés lors de la connexion, nous utiliserons SSH pour créer une connexion sécurisée. Nous pouvons utiliser un tunnel SSH sécurisé pour nous connecter à notre bureau virtuel.
Pour créer un tunnel SSH qui redirige de manière sécurisée la connexion vers le localhost, vous pouvez utiliser la commande suivante sur le terminal ou PowerShell (pour Windows) :
|
1 |
ssh -L 5901:127.0.0.1:5901 -C -N -l <UserName> <ServerIP> -i <pemKey> |
Dans la commande ci-dessus,
-L : Utilisé pour spécifier les liaisons de ports. Dans ce cas, nous redirigeons le port 5901 du serveur vers le port 5901 de notre système
-C : Utilisé pour activer la compression
-N : Utilisé pour spécifier qu'aucune exécution à distance de la commande n'est requise
-l : Spécifie le nom de connexion à distance
-i : Spécifie l'emplacement de la clé

Une fois le tunnel opérationnel, utilisez un client VNC pour vous connecter à localhost:5901. Il vous sera demandé de saisir le mot de passe que vous avez configuré précédemment.
Une fois connecté, vous verrez un écran similaire à celui-ci.

Vous pouvez arrêter le tunnel SSH en appuyant sur Ctrl + C.
Exécution de VNC en tant que service système
Vous pouvez maintenant configurer VNC en tant que service système pour le démarrer, le redémarrer ou vérifier son état à l'aide des commandes systemd. Cela garantira également que le serveur VNC démarre lors du redémarrage du serveur.
Pour ce faire, créez un nouveau fichier d'unité – /etc/systemd/system/vncserver@.service.
|
1 |
touch /etc/systemd/system/vncserver@.service |
Vous remarquerez que dans le nom de fichier ci-dessus, il y a un symbole ‘@’. Il vous permet de passer un argument que vous pouvez utiliser dans la configuration du serveur.
Ajoutez le contenu suivant dans le fichier :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=Démarrer TightVNC serveur au démarrage After=syslog.target network.target [Service] Type=forking User=<User> Group=<UserGroup> WorkingDirectory=/home/<User> PIDFile=/home/<User>/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target |
La commande ‘ExecStartPre’ arrête le VNC s'il est déjà en cours d'exécution, tandis que la commande ExecStart démarre le VNC avec une profondeur de couleur de 24 bits et une résolution de 1280×800. Vous pouvez modifier ce fichier pour l'adapter à vos besoins.
Maintenant, vous pouvez recharger les unités pour systemd en utilisant la commande suivante :
|
1 |
sudo systemctl daemon-reload |
Maintenant que systemctl a connaissance de la nouvelle unité, vous pouvez l'activer à l'aide de la commande :
|
1 |
sudo systemctl enable vncserver@1.service |
Le chiffre 1 après @ indique le numéro d'affichage sur lequel le service doit apparaître. Exemple :1, :2, etc.
Pour arrêter l'instance actuelle, exécutez la commande :
|
1 |
vncserver -kill :1 |

Maintenant, vous pouvez démarrer le serveur VNC comme vous le feriez pour n’importe quel autre service.
|
1 |
sudo systemctl start vncserver@1 |
Pour vérifier si le service est actif, exécutez la commande :
|
1 |
sudo systemctl status vncserver@1 |
Le serveur VNC sera désormais disponible lorsque vous redémarrerez votre serveur.
Maintenant que vous savez comment configurer un serveur VNC, vous pouvez facilement gérer votre serveur, tout comme vous gérez votre ordinateur.
Commentaires
Aucun commentaire pour l'instant. Soyez le premier.