Ce guide couvre les étapes nécessaires à l’installation et à la configuration d’un serveur VNC sur Ubuntu 18.04. Nous vous montrerons également comment vous connecter en toute sécurité au serveur VNC via un tunnel SSH.
Virtual Network Computing (VNC) est un système de partage de bureau graphique qui vous permet d’utiliser votre clavier et votre souris pour contrôler à distance un autre ordinateur. Il s’agit d’une alternative open source au protocole Microsoft remote desktop protocol (RDP).,
prérequis #
avant de poursuivre le tutoriel, assurez-vous d’être connecté en tant qu’utilisateur avec les privilèges sudo .
installation de L’environnement de bureau #
La plupart des serveurs n’ont pas d’environnement de bureau installé, nous allons donc commencer par installer un environnement de bureau léger.
Il existe plusieurs environnements de bureau (DE) disponibles dans les dépôts Ubuntu. Nous allons installer Xfce . C’est un environnement de bureau rapide, stable et léger, ce qui le rend idéal pour une utilisation sur un serveur distant.,
entrez les commandes suivantes pour installer Xfce sur votre serveur:
sudo apt update
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
selon votre système, le téléchargement et l’installation des paquets Xfce peuvent prendre un certain temps.
installation de VNC Server #
Il existe également plusieurs serveurs VNC différents disponibles dans les dépôts Ubuntu tels que TightVNC , TigerVNC et x11vnc . Chaque serveur VNC a des forces et des faiblesses différentes en termes de vitesse et de sécurité.
Nous allons installer TigerVNC. Il s’agit d’un serveur VNC haute performance activement maintenu.,
Tapez la commande suivante pour installer TigerVNC sur votre serveur Ubuntu:
sudo apt install tigervnc-standalone-server tigervnc-common
Maintenant que le serveur VNC est installé, l’étape suivante consiste à créer la configuration initiale et de configurer le mot de passe. N’utilisez pas sudo lors de l’exécution de la commande vncserver
:
vncserver
Vous serez invité à entrer et confirmer le mot de passe et à le Définir comme mot de passe en vue seule. Si vous choisissez de configurer un mot de passe en vue seule, l’utilisateur ne pourra pas interagir avec L’instance VNC avec la souris et le clavier.,
la première fois que la commandevncserver
est exécutée, elle crée et stocke le fichier de mot de passe dans~/.vnc
. Ce répertoire sera créé s’il n’est pas présent.
Remarque :1
après le nom d’hôte dans la sortie ci-dessus. Ceci indique le numéro de port d’affichage sur lequel le serveur vnc s’exécute. Dans notre cas, le serveur s’exécute sur le port TCP 5901
(5900+1). Si vous créez une deuxième instance avec vncserver
, elle s’exécutera sur le prochain port libre I.,e :2
, ce qui signifie que le serveur s’exécute sur le port 5902
(5900+2).
ce qu’il est important de retenir, c’est que lorsque vous travaillez avec des serveurs VNC,:X
est un port d’affichage qui fait référence à5900+X
.
avant de poursuivre l’étape suivante, arrêtez l’instance VNC en utilisant la commandevncserver
avec une option-kill
et le numéro de serveur comme argument., Dans cet exemple, le serveur s’exécute dans le port 5901 (:1
), nous allons donc l’arrêter avec:
vncserver -kill :1
Killing Xtigervnc process ID 7264... success!
configuration du serveur VNC #
maintenant que Xfce et TigerVNC sont installés sur le serveur, nous devons configurer TigerVNC pour utiliser xfce. Pour ce faire, créez le fichier suivant:
nano ~/.vnc/xstartup
#!/bin/shunset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESSexec startxfce4
Enregistrez et fermez le fichier. Les commandes ci-dessus seront automatiquement exécutées chaque fois que vous démarrez ou redémarrez le serveur TigerVNC.,
Le ~/.vnc/xstartup
le fichier doit également avoir des autorisations d’exécution. Exécutez la commande suivantechmod
pour vous assurer que les autorisations sont correctes:
chmod u+x ~/.vnc/xstartup
Si vous devez transmettre des options supplémentaires au serveur VNC, créez un fichier nomméconfig
et ajoutez une option par ligne. Voici un exemple:
geometry=1920x1080dpi=96
création d’un fichier D’unité Systemd #
créez un fichier d’unité systemd de sorte que vous démarrez, arrêtez et redémarrez le service VNC si nécessaire, comme tout autre service systemd.,
ouvrez votre éditeur de texte et copiez-y et collez la configuration suivante. Assurez-vous de changer le nom d’utilisateur à la ligne 7 pour qu’il corresponde à votre nom d’utilisateur.
sudo nano /etc/systemd/system/[email protected]
Enregistrez et fermez le fichier.,
Informer systemd que nous avons créé une nouvelle unité fichier avec:
sudo systemctl daemon-reload
La prochaine étape est de permettre à l’unité de fichier avec la commande suivante:
sudo systemctl enable [email protected]
Le nombre 1
après le @
signe définit le display port sur lequel le client VNC service doit s’exécuter. Cela signifie que le serveur VNC écoutera sur le port 5901
, comme nous l’avons discuté dans la section précédente.,
démarrez le service VNC en exécutant:
sudo systemctl start [email protected]
vérifiez que le service est correctement démarré avec:
sudo systemctl status [email protected]
connexion au serveur VNC #
VNC n’est pas un protocole chiffré et peut être soumis à un reniflage de paquets. L’approche recommandée consiste à créer un tunnel SSH qui acheminera en toute sécurité le trafic de votre machine locale sur le port 5901 vers le serveur sur le même port.,
configurer SSH Tunneling sous Linux et macOS #
Si vous exécutez Linux, macOS ou tout autre système d’exploitation basé sur Unix sur votre machine, vous pouvez facilement créer un tunnel SSH avec la commande suivante:
ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address
Vous serez invité à entrer le mot de passe utilisateur.
Ne pas oublier de remplacer username
et server_ip_address
par votre nom d’utilisateur et l’adresse IP de votre serveur.
configurer le Tunneling SSH sous Windows #
Si vous exécutez Windows, vous pouvez configurer le Tunneling SSH à l’aide du client SSH PuTTY .,
Open Putty and enter your server IP Address in the Host name or IP address
field.
Under the Connection
menu, box, expand SSH
and select Tunnels
., Entrez le serveur VNC port (5901
) dans la balise Source Port
le champ et saisissez server_ip_address:5901
dans le Destination
le champ et cliquez sur la balise Add
bouton comme indiqué dans l’image ci-dessous:
revenir à la balise Session
page pour enregistrer les paramètres de sorte que vous n’avez pas besoin de les saisir à chaque fois., Sur le serveur distant, sélectionnez la session enregistrée et cliquez sur le bouton Open
.
connexion en utilisant Vncviewer #
maintenant que le tunnel SSH est créé, il est temps d’ouvrir votre vncviewer et de vous connecter au serveur VNC àlocalhost:5901
.
Vous pouvez utiliser n’importe quelle visionneuse VNC telle que TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre et VNC Viewer pour Google Chrome .
Nous utiliserons TigerVNC. Ouvrir la visionneuse, entrez localhost:5901
, et cliquez sur la balise Connect
le bouton.,
Entrez votre mot de passe lorsque vous y êtes invité, et vous devriez voir la valeur par défaut de bureau Xfce. Il ressemblera à quelque chose comme ceci:
Vous pouvez commencer à interagir avec la télécommande de bureau XFCE à partir de votre ordinateur local à l’aide de votre clavier et de la souris.,
Conclusion #
Maintenant, vous devriez avoir un serveur VNC opérationnel et vous pouvez facilement gérer votre serveur Ubuntu 18.04 à partir de votre ordinateur de bureau local à l’aide d’une interface graphique facile à utiliser.
pour configurer votre serveur VNC pour démarrer un affichage pour plusieurs utilisateurs, créez la configuration initiale et configurez le mot de passe à l’aide de la commande vncserver
. Vous devrez également créer un nouveau fichier de service en utilisant un port différent.