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.
Cet article couvre les étapes d'installation et de configuration d'un serveur VNC sur CentOS 8. Nous vous montrerons également comment vous connecter en toute sécurité au serveur VNC via un tunnel SSH.
Prérequis #
Pour suivre ce guide, vous devez être connecté en tant qu'utilisateur avec des privilèges sudo sur votre machine CentOS distante.
Installation de l'environnement de bureau #
Généralement, les serveurs n'ont pas d'environnement de bureau installé. Si la machine à laquelle vous souhaitez vous connecter n'a pas d'interface graphique, la première étape consiste à l'installer. Sinon, ignorez cette étape.
Exécutez la commande suivante pour installer Gnome, l'environnement de bureau par défaut de CentOS 8 sur votre ordinateur distant :
sudo dnf groupinstall "Server with GUI"
Selon votre système, le téléchargement et l'installation des packages et des dépendances Gnome peuvent prendre un certain temps.
Installation du serveur VNC #
TigerVNC est un serveur VNC open source hautes performances activement maintenu. Il est disponible dans les référentiels CentOS par défaut. Pour l'installer, tapez :
sudo dnf install tigervnc-server
Configuration du serveur VNC #
Dans CentOS 8, TigerVNC est configuré à l'aide du démon systemd.
Dans cet exemple, nous allons vous montrer comment configurer TigerVNC pour un ou plusieurs utilisateurs VNC.
-
Utilisez le
vncpasswd
commande pour configurer le mot de passe. Exécutez la commande en tant qu'utilisateur qui accédera au serveur VNC, n'utilisez passudo
:vncpasswd
Vous serez invité à entrer et à confirmer le mot de passe et à le définir comme mot de passe en lecture seule. Si vous choisissez de configurer un mot de passe en lecture seule, l'utilisateur ne pourra pas interagir avec l'instance VNC avec la souris et le clavier.
La première fois que le
vncpasswd
est exécutée, elle créera et stockera le fichier de mot de passe dans le~/.vnc
de l'utilisateur répertoire.Password: Verify: Would you like to enter a view-only password (y/n)? n A view-only password is not used
Si vous ajoutez un deuxième utilisateur, basculez vers celui-ci et définissez le mot de passe avec
vncpasswd
. -
L'étape suivante consiste à configurer TigerVNC pour utiliser Gnome. VNC lit les paramètres de configuration de l'utilisateur à partir du
~/.vnc/config
dossier. Ouvrez le fichier et ajoutez ce qui suit :vim ~/.vnc/config
session=gnome geometry=1920x1200 localhost alwaysshared
La
session
L'option spécifie la session que vous souhaitez démarrer, et lageometry
L'option spécifie la taille du bureau VNC.Enregistrez et fermez le fichier. Si vous ajoutez plusieurs utilisateurs, répétez la même étape.
-
TigerVNC est livré avec un fichier qui vous permet de mapper un utilisateur sur un port particulier. Le mappage est configuré dans le
/etc/tigervnc/vncserver.users
fichier :sudo vim /etc/tigervnc/vncserver.users
Le fichier utilise
<display_port>=<username>
syntaxe. Dans l'exemple ci-dessous, nous mappons le port d'affichage:1
à l'utilisateur linuxize. Utilisez le même format pour ajouter d'autres utilisateurs.# TigerVNC User assignment # # This file assigns users to specific VNC display numbers. # The syntax is <display>=<username>. E.g.: # # :2=andrew # :3=lisa :1=linuxize
:1
est le numéro de port d'affichage sur lequel le serveur VNC s'exécutera. Dans notre cas, le serveur tourne sur le port TCP5901
(5900+1). Si vous mappez un autre utilisateur, par exemple, pour afficher le port:2
, le serveur écoutera également sur le port5902
(5900+2).Ce qu'il est important de comprendre, c'est que lorsque vous travaillez avec des serveurs VNC,
:X
est un port d'affichage qui fait référence à5900+X
.
Démarrage du serveur Tigervnc #
Une fois la configuration terminée, la dernière étape consiste à démarrer le serveur VNC.
Pour démarrer et activer le service VNC pour l'utilisateur mappé au port d'affichage :1
, saisissez :
sudo systemctl enable vncserver@:1 --now
Le serveur VNC écoutera sur le port 5901
, comme nous l'avons vu dans la section précédente.
Vous pouvez vérifier que le service a démarré avec succès avec :
sudo systemctl status vncserver@:1
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-12-17 21:49:41 UTC; 8s ago
...
Pour activer VNC pour d'autres utilisateurs, remplacez simplement 1
avec le port d'affichage mappé à l'utilisateur.
Connexion au serveur VNC #
VNC n'est pas un protocole crypté et peut faire l'objet d'un reniflage de paquets. L'approche recommandée consiste à créer un tunnel SSH pour transférer en toute sécurité le trafic de votre machine locale sur le port 5901
au serveur distant sur le même port.
Configurer le tunnel SSH sur 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 en utilisant le ssh
suivant commande :
ssh -L 5901:127.0.0.1:5901 -N -f -l username remote_server_ip
Vous serez invité à entrer le mot de passe de l'utilisateur.
N'oubliez pas de remplacer username
et server_ip_address
avec votre nom d'utilisateur et l'adresse IP de votre serveur.
Configurer le tunnel SSH sous Windows #
Les utilisateurs Windows peuvent configurer le tunnel SSH à l'aide de PuTTY.
Ouvrez Putty et entrez l'adresse IP de votre serveur dans le champ Host name or IP address
champ.
Sous la Connection
menu, développez SSH
et sélectionnez Tunnels
. Entrez le port du serveur VNC (5901
) dans le Source Port
champ, saisissez server_ip_address:5901
dans la Destination
champ et cliquez sur le Add
bouton comme indiqué dans l'image ci-dessous :
Revenir à la Session
pour enregistrer les paramètres afin de ne pas avoir à les saisir à chaque fois. Pour vous connecter au serveur distant, sélectionnez la session enregistrée et cliquez sur Open
bouton.
Connexion à l'aide de Vncviewer #
Pour vous connecter au serveur distant, ouvrez votre visualiseur VNC et entrez localhost:5901
.
Vous pouvez utiliser n'importe quel visualiseur VNC tel que TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre et VNC Viewer pour Google Chrome.
Nous utilisons TigerVNC :
Entrez le mot de passe lorsque vous y êtes invité et vous devriez voir le bureau Gnome par défaut. Cela devrait ressembler à ceci :
C'est ça! Vous pouvez maintenant commencer à travailler sur votre poste de travail distant à partir de votre ordinateur local à l'aide de votre clavier et de votre souris.