nouvelles
Serverspace Technologies aux Emirats Arabes Unis : Lancement de Falconcloud
WB
William Bell
27 mai 2020
Mise à jour en juin 7, 2023

Installer et configurer un serveur VNC sur CentOS 7

CentOS

Dans ce guide, nous verrons comment installer et configurer un serveur VNC sur le CentOS Système d'exploitation 7.x pour permettre les connexions à distance à partir de n'importe quel VNC clients, tels que TightVNC, RealVNC et autres. En particulier, nous le ferons en utilisant le logiciel TigerVNC Server, un outil gratuit qui permet d'utiliser un bureau virtuel autonome.

Introduction

VNC (Virtual Network Computing) est un cliprotocole ent-server qui permet un cliordinateur ent (exécutant un VNC client) pour connecter et contrôler un ordinateur distant (fonctionnant sur un serveur VNC). Le logiciel a été développé par Olivetti & Oracle laboratoire de recherche à Cambridge, au Royaume-Uni, et son code source est toujours à jour et disponible sous la licence publique générale (GNU).

Selon le logiciel du serveur, le VNC client se connectera au bureau actif (par exemple, en tant que TeamViewer ou AnyDesk programs) ou un bureau virtuel autonome (comme le Windows RDP protocole de bureau à distance). Ce dernier, peut-être plus puissant et sécurisé, surtout si vous avez besoin de gérer l'ordinateur serveur car chaque session sera un environnement unique, configuré avec les autorisations et les droits de l'utilisateur connecté. C'est pourquoi nous choisissons TigerVNC, qui exécute des sessions parallèles de l'environnement de bureau de l'ordinateur (GNOME, KDE ou une autre interface graphique) : cela signifie qu'un bureau virtuel sera créé pour chaque connexion - c'est exactement ce que nous voulons.

Installer TigerVNC

Voyons maintenant comment installer et configurer TigerVNC sur CentOS. La première chose à faire est d'installer le programme TigerVNC Serverram en ouvrant une session de terminal et en saisissant la commande suivante avec les privilèges root :

$ sudo yum install tigervnc-server

Immédiatement après cela, vous devez créer un utilisateur VNC distinct à partir duquel la connexion sera établie (avec un mot de passe dédié). Pour ce faire, entrez ce qui suit :

$ sudo adduser vncuser
$ sudo passwd vncuser

Important: ne le faites jamais en tant qu'utilisateur root - cela constituera une menace sérieuse pour la sécurité de votre système. La meilleure solution serait de laisser l'utilisateur root sans accès à VNC et de créer un compte dédié avec des droits limités.

Après avoir créé vncuser et défini un mot de passe pour la connexion, vous devez également définir un mot de passe VNC unique pour cet utilisateur. La commande pour ce faire est :

$ su - vncuser
$ vncpasswd

(la première ligne peut être omise si nous sommes déjà connectés en tant que vncuser à l'avance).

La prochaine chose à faire est de créer un fichier de configuration VNC pour vncuser. Pour ce faire, le moyen le plus rapide consiste à copier le fichier de modèle VNC partagé situé dans le /lib/systemd/système/ dossier, puis modifiez-le :

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

Le numéro 1 que nous avons ajouté au nouveau nom de fichier est le numéro d'affichage qui sera utilisé pour cette instance particulière du service. Ceci est important à savoir car il déterminera également le port TCP qui sera utilisé par notre serveur VNC, égal à 5900 + numéro d'affichage. Le premier sera 5901, puis 5902 et ainsi de suite.

Immédiatement après la copie, vous devez éditer le nouveau fichier à l'aide de Vi, Nano ou d'un autre éditeur de texte, et remplacer [USER] par le nom de l'utilisateur créé récemment (dans notre cas, vncuser). Voici à quoi devrait ressembler le fichier après la mise à jour (à l'exception de la longue partie commentée au début) :

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l vncuser -c "/usr/bin/vncserver %i -geometry 1280x720"
PIDFile=/home/vncuser/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target

Une fois cela fait, vous pouvez recharger le démon VNC et exécuter vncserver @ 1 avec les commandes suivantes :

$ systemctl daemon-reload
$ systemctl start vncserver@:1

Avant de continuer, vérifiez que le service est en cours d'exécution en saisissant le état systemctl commander:

$ systemctl status vncserver@:1

et créez un lien symbolique pour qu'il s'exécute toujours au démarrage du système à l'aide de la commande suivante :

$ systemctl enable vncserver@:1

Un autre test que vous pouvez effectuer avant d'essayer de vous connecter au serveur consiste à examiner les sockets réseau actifs à l'aide de lasscommande : si tout fonctionne correctement, vous devriez voir que le serveur VNC fonctionne et utilise le port TCP 5901. Exécutez la commande :

$ ss -tulpn| grep vnc

Le résultat devrait être le suivant :

tcp LISTEN 0 5 *:5901 *:* users:(("Xvnc",pid=38344,fd=9))
tcp LISTEN 0 128 *:6001 *:* users:(("Xvnc",pid=38344,fd=6))
tcp LISTEN 0 5 :::5901 :::* users:(("Xvnc",pid=38344,fd=10))
tcp LISTEN 0 128 :::6001 :::* users:(("Xvnc",pid=38344,fd=5))

Si vous voyez cela, alors tout est configuré correctement.

Firewall installation

Étant donné que notre service VNC écoute sur le port TCP 5901, vous devez vous assurer qu'un tel port est ouvert et accessible aux clients. Par conséquent, si vous avez un firewall installé, vous devez créer une règle appropriée qui autorise VNC clients à connecter.

Le nombre de ports à ouvrir dépendra du nombre d'instances de serveur VNC dont vous avez besoin. Dans notre scénario, nous n'en avons fait qu'un seul, il vous suffit donc d'ouvrir le premier port VNC dédié : TCP 1, comme nous l'avons déjà dit. La commande pour ouvrir ce port sur Firewalld:

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

Il ne sera pas superflu de mentionner que vous pouvez également restreindre ce port à certains groupes, adresses IP, cartes réseau, ou autres simples ou complexes firewall règles.

Installation de l'interface utilisateur graphique (GUI)

Si vous avez déjà GNOME, KDE ou d'autres environnements de bureau installés, vous pouvez ignorer cette étape. Sinon, vous devez installer l'un d'entre eux : le serveur TigerVNC démarrera une instance parallèle de cet environnement de bureau pour chaque session de connexion, ce qui signifie que nous devons avoir au moins une interface graphique.

GNOME

Si vous voulez une interface GNOME géniale mais lourde, entrez ce qui suit :

$ sudo yum groupinstall "GNOME Desktop"

Xfce

Si vous avez besoin d'une modification légèrenative, nous pouvons offrir Xfce, un environnement open-source gratuit pour les plates-formes de type Unix qui fonctionne très bien avec TigerVNC. GNOME fonctionne également très bien, mais il consomme beaucoup de ressources : si vous souhaitez économiser des ressources sur votre machine serveur, Xfce pourrait être le meilleur choix. Pour l'installer, entrez ce qui suit :

$ yum install epel-release
$ yum groupinstall xfce

Paramètres supplémentaires pour Xfce

Si vous décidez d'utiliser Xfce, vous devrez également modifier le fichier qui a été exécuté au démarrage de la session VNC. Pour cela, éditez le fichier /domicile/ /.vnc/xstartup et modifiez l'entrée exec (généralement la ligne 4) de etc/X11/xinit/xinitrc à startxfce4, comme indiqué ci-dessous:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
vncserver -kill $DISPLAY

VNC cliconnexion ent

Maintenant que tout est configuré, nous pouvons essayer de nous connecter à notre service VNC en utilisant un VNC client, comme TightVNC, UltraVNC ou RealVNC, et voyez ce qui se passe. Pensez à préciser le port TCP 5901 (si vous avez suivi notre guide).

problèmes possibles

Si votre client ne peut pas établir une connexion VNC fonctionnelle, vous devez vérifier ce qui suit :

1. Problèmes de connexion - Firewall paramétrage: si vous voyez des erreurs contextuelles que le client ne peut pas se connecter à l'hôte distant, vous devez vérifier votre réseau et firewall configuration pour s'assurer qu'il n'y a pas de problèmes de blocage qui pourraient empêcher le client de se connecter au port de serveur TCP 5901.

2. Écran noir avec la souris - mise à jour de YUM ou réinstallation de l'interface graphique: si vous voyez un écran noir avec un curseur de souris fonctionnel, cela signifie probablement que votre connexion VNC fonctionne correctement, mais il y a quelque chose qui empêche l'interface graphique de démarrer correctement sur le bureau. Pour corriger :

  • Exécutez yum update pour installer les dernières versions de TigerVNC et l'interface graphique elle-même. Assurez-vous de garder une trace de tous les problèmes qui surviennent pendant la phase d'installation.
  • Désinstallez et réinstallez l'interface graphique à l'aide de la commande miam supprimer / groupe miam supprimer ainsi que miam, installation en groupe de nouveau. Si toujours rien ne fonctionne, vous pouvez essayer d'installer une interface graphique différente.

Voter:
5 sur 5
Note moyenne : 5
Noté par : 2
1101 CT Amsterdam Pays-Bas, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Nous utilisons des cookies pour rendre votre expérience sur le Serverspace meilleur. En poursuivant votre navigation sur notre site, vous acceptez nos
Utilisation des cookies ainsi que Données privées.