Recherche de site Web

Comment installer et configurer le serveur VNC dans CentOS et RHEL


Dans ce guide, nous expliquerons comment installer et configurer VNC Remote Access dans le bureau CentOS 7/8 et RHEL 9/8/7. édition via le programme tigervnc-server pour accéder aux machines de bureau distantes.

VNC (Virtual Network Computing) est un protocole serveur-client qui permet aux comptes d'utilisateurs de se connecter et de contrôler à distance un système distant en utilisant les ressources fournies par l'interface utilisateur graphique.

Contrairement aux autres serveurs VNC disponibles qui se connectent directement au bureau d'exécution, tels que VNC X ou Vino, tigervnc-vncserver utilise un mécanisme différent qui configure un bureau virtuel autonome pour chaque utilisateur.

Exigences

  • Installation de CentOS 8 avec captures d'écran
  • Procédure d'installation de CentOS 7
  • Comment installer RHEL 9 gratuitement
  • Comment installer RHEL 8 gratuitement
  • Procédure d'installation de RHEL7

Étape 1 : installer et configurer VNC sur CentOS

1. Tigervnc-server est un programme qui exécute un serveur Xvnc et démarre des sessions parallèles de Gnome ou d'un autre bureau. environnements sur le bureau VNC.

Une session utilisateur VNC démarrée est accessible au même utilisateur à partir de plusieurs clients VNC. Afin d'installer le serveur TigerVNC dans CentOS/RHEL, ouvrez une session de terminal et exécutez la commande yum suivante avec les privilèges root.

sudo yum install tigervnc-server

2. Après avoir installé le programme, connectez-vous avec l'utilisateur avec lequel vous souhaitez exécuter le programme VNC et exécutez la commande ci-dessous dans le terminal afin de configurer un mot de passe pour le serveur VNC.

Sachez que le mot de passe doit comporter au moins six caractères.

su - your_user
vncpasswd

3. Ensuite, ajoutez un fichier de configuration de service VNC pour votre utilisateur via un fichier de configuration de démon placé dans l'arborescence de répertoires systemd. Afin de copier le fichier modèle VNC, vous devez exécuter la commande cp suivante avec les privilèges root.

Si votre utilisateur ne bénéficie pas des privilèges sudo, passez directement au compte root ou exécutez la commande à partir d'un compte doté des privilèges root.

cp /lib/systemd/system/[email  /etc/systemd/system/vncserver@:1.service

4. À l'étape suivante, modifiez le fichier de configuration du modèle VNC copié à partir du répertoire /etc/systemd/system/ et remplacez les valeurs suivantes pour refléter votre utilisateur, comme indiqué ci-dessous. échantillon.

La valeur de 1 après le signe @ représente le numéro d'affichage (port 5900+display). De plus, pour chaque serveur VNC démarré, le port 5900 sera incrémenté de 1.

vi /etc/systemd/system/vncserver@\:1.service

Ajoutez les lignes suivantes au fichier vncserver@:1.service.

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=tecmint
Group=tecmint
WorkingDirectory=/home/tecmint
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1280x1024
PIDFile=/home/tecmint/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

5. Après avoir apporté les modifications appropriées au fichier de service VNC, rechargez le programme d'initialisation du système systemd pour récupérer le nouveau fichier de configuration vnc et démarrez le serveur TigerVNC.

Vérifiez également l'état du service VNC et activez le démon VNC à l'échelle du système en exécutant les commandes ci-dessous.

systemctl daemon-reload
systemctl start vncserver@:1
systemctl status vncserver@:1
systemctl enable vncserver@:1

6. Pour répertorier les ports ouverts dans l'état d'écoute appartenant au serveur VNC, exécutez la commande ss, qui est utilisée pour afficher les sockets réseau. Étant donné que vous n'avez démarré qu'une seule instance du serveur VNC, le premier port ouvert est 5901/TCP.

Encore une fois, la commande ss doit être exécutée avec les privilèges root. Si vous démarrez d'autres instances VNC en parallèle pour différents utilisateurs, la valeur du port sera 5902 pour la seconde, 5903 pour la troisième, et ainsi de suite. Les ports 6000+ sont utilisés pour permettre aux applications X de se connecter au serveur VNC.

ss -tulpn| grep vnc

7. Afin de permettre aux clients VNC externes de se connecter au serveur VNC, vous devez vous assurer que les ports ouverts VNC appropriés sont autorisés à traverser votre pare-feu.

Dans le cas où une seule instance du serveur VNC est démarrée, il vous suffit d'ouvrir le premier port VNC alloué : 5901/TCP en exécutant les commandes ci-dessous pour appliquer la configuration du pare-feu au moment de l'exécution.

firewall-cmd --add-port=5901/tcp
firewall-cmd --add-port=5901/tcp --permanent

Étape 2 : Connexion à CentOS Desktop via le client VNC

8. Étant un protocole indépendant de la plate-forme, les connexions interface utilisateur graphique VNC à distance peuvent être effectuées à partir de presque n'importe quel système d'exploitation avec une interface graphique et un client VNC spécialisé.

Un client VNC populaire utilisé dans les systèmes d'exploitation basés sur Microsoft , entièrement compatible avec le serveur Linux TigerVNC, est le RealVNC VNC Viewer.

Afin de vous connecter à distance à CentOS Desktop à partir d'un système d'exploitation Microsoft via le protocole VNC, ouvrez le programme VNC Viewer, ajoutez l'adresse IP et le numéro de port du serveur CentOS VNC, et appuyez sur la touche [enter].

Une fois la connexion VNC établie, un avertissement indiquant que la connexion n'est pas cryptée doit s'afficher sur votre écran, comme illustré dans les captures d'écran ci-dessous.

9. Afin de contourner l'avertissement, appuyez sur le bouton Continuer, ajoutez la configuration du mot de passe pour le serveur VNC au point 2 et vous devriez être connecté à distance à CentOS Desktop avec l'utilisateur configuré pour exécuter l'instance de serveur VNC.

10. Dans le cas où un nouveau message Authentification apparaît sur votre écran et que votre utilisateur ne dispose d'aucun privilège root, appuyez simplement sur le bouton Annuler pour continuer vers CentOS. Bureau, comme indiqué dans la capture d'écran ci-dessous.

Sachez que la communication VNC établie entre le serveur et le client et toutes les données échangées (à l'exception du mot de passe) s'effectuent sur un canal non crypté. Afin de crypter et de sécuriser le transfert de données VPN, vous devez d'abord configurer un tunnel SSH sécurisé et exécuter tout trafic VPN ultérieur via le tunnel SSH.

11. Afin de vous connecter à distance à CentOS Desktop via le protocole VNC à partir d'autres ordinateurs de bureau CentOS, assurez-vous d'abord que le package vinagre est installé sur votre système en exécutant la commande ci-dessous.

sudo yum install vinagre

12. Pour ouvrir l'utilitaire vinagre, accédez à Applications -> Utilitaires -> Visionneuse de bureau à distance comme indiqué dans la capture d'écran ci-dessous.

13. Pour vous connecter à distance à un bureau CentOS, appuyez sur le bouton Connecter, sélectionnez le protocole VNC dans la liste et ajoutez l'adresse IP. et le port (5900+numéro d'affichage) du serveur VNC distant. Fournissez également la configuration du mot de passe pour l'utilisateur VNC, comme illustré dans les captures d'écran suivantes.

14. Un autre client VNC populaire pour les plates-formes basées sur Linux est Remmina, un client de bureau à distance particulièrement utilisé dans les distributions basées sur Debian qui exécutent l'environnement de bureau GNOME.

Pour installer le client Remmina Remote Desktop dans les distributions basées sur Debian, exécutez la commande suivante.

sudo apt-get install remmina

Étape 3 : configurer plusieurs sessions VNC sur CentOS

15. Si vous devez exécuter une nouvelle session VNC parallèle sous le même utilisateur, ouvrez une console Terminal, connectez-vous avec l'utilisateur avec lequel vous souhaitez démarrer la nouvelle session VNC et exécutez la commande ci-dessous.

Lorsque vous démarrez le serveur pour la première fois, il vous sera demandé de fournir un nouveau mot de passe pour cette session. Cependant, sachez que cette session s'exécute avec vos autorisations d'utilisateur connecté et indépendamment de la session du serveur systemd VNC démarrée.

vncserver

16. Les nouvelles sessions VNC ouvriront les prochains ports basés sur VNC disponibles (affichage 5900+3 dans cet exemple). Pour afficher les ports ouverts, exécutez la commande ss sans privilèges root, comme illustré dans l'extrait ci-dessous. Il répertoriera uniquement les sessions VNC démarrées dues par votre utilisateur.

ss -tlpn| grep Xvnc

17. Maintenant, connectez-vous à distance à CentOS Desktop à l'aide de cette nouvelle session VNC et fournissez la combinaison IP:port (192.168.1.23:5903) dans le client VNC, comme illustré dans l'image ci-dessous.

Afin d'arrêter les instances de serveur VNC démarrées avec ces autorisations d'utilisateur connecté, exécutez la commande suivante sans aucun privilège root. Cette commande détruira toutes les instances VNC démarrées appartenant uniquement à l'utilisateur qui les a déclarées.

su - your_user
killall Xvnc

C'est tout! Vous pouvez désormais accéder à votre système CentOS et effectuer des tâches administratives à l'aide de l'interface utilisateur graphique fournie par le système d'exploitation.