GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer et configurer VNC sur CentOS 7

Dans ce tutoriel, nous vous guiderons à travers les étapes d'installation et de configuration d'un serveur VNC sur un système CentOS 7. 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.

Prérequis #

Avant de poursuivre le didacticiel, assurez-vous que vous êtes connecté en tant qu'utilisateur avec des privilèges sudo. Nous supposerons que vous êtes connecté en tant qu'utilisateur nommé linuxize .

Installation de l'environnement de bureau Xfce #

Les installations de serveur CentOS ne sont souvent pas livrées avec un environnement de bureau installé, nous allons donc commencer par installer un environnement de bureau léger.

Nous allons installer Xfce. Il est rapide, stable et peu gourmand en ressources système, ce qui le rend idéal pour une utilisation sur des serveurs distants.

Les packages Xfce sont disponibles dans le référentiel EPEL. Si le dépôt n'est pas activé sur votre serveur, vous pouvez l'activer en tapant :

sudo yum install epel-release

Une fois le référentiel ajouté, installez Xfce sur votre CentOS avec :

sudo yum groupinstall xfce

Selon votre système, le téléchargement et l'installation des packages et des dépendances Xfce peuvent prendre un certain temps.

Installation du serveur VNC #

Nous utiliserons TigerVNC comme serveur VNC de choix. TigerVNCest un serveur VNC open source hautes performances activement maintenu.

Tapez la commande suivante pour installer TigerVNC sur votre serveur CentOS :

sudo yum install tigervnc-server

Maintenant que le serveur VNC est installé, l'étape suivante consiste à exécuter le vncserver commande, qui créera la configuration initiale et définira le mot de passe. N'utilisez pas sudo lors de l'exécution de la commande suivante :

vncserver

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.

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
/usr/bin/xauth:  file /home/linuxize/.Xauthority does not exist

New 'server2.linuxize.com:1 (linuxize)' desktop at :1 on machine server2.linuxize.com

Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log

La première fois que le vncserver est exécutée, elle créera et stockera le fichier de mot de passe dans le ~/.vnc répertoire qui sera créé s'il n'est pas présent.

Notez le :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 tourne sur le port TCP 5901 (5900+1). Si vous créez une deuxième instance avec vncserver il s'exécutera sur le prochain port libre, c'est-à-dire :2 , ce qui signifie que le serveur tourne 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 passer à l'étape suivante, arrêtez d'abord l'instance VNC à l'aide de vncserver commande avec un -kill option et le numéro de serveur comme argument. Dans ce cas, le serveur tourne sur le port 5901 (:1 ), nous allons donc l'arrêter avec :

vncserver -kill :1
Killing Xvnc process ID 2432

Configuration du serveur VNC #

Maintenant que Xfce et TigerVNC sont installés sur le serveur, l'étape suivante consiste à configurer TigerVNC pour utiliser Xfce. Pour cela ouvrez le fichier suivant :

nano ~/.vnc/xstartup

Et changez la dernière ligne de exec /etc/X11/xinit/xinitrc à exec startxfce4 :

~/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 

Enregistrez et fermez le fichier. Le script ci-dessus sera automatiquement exécuté chaque fois que vous démarrez ou redémarrez le serveur TigerVNC.

Si vous avez besoin de passer des options supplémentaires au serveur VNC, ouvrez le ~/.vnc/config fichier et ajoutez une option par ligne. Les options les plus courantes sont répertoriées dans le fichier. Décommentez et modifiez à votre guise.

Voici un exemple :

~/.vnc/config
# securitytypes=vncauth,tlsvnc
# desktop=sandbox
geometry=1920x1080
# localhost
# alwaysshared
dpi=96

Création d'un fichier d'unité Systemd #

Nous allons créer un fichier d'unité systemd qui nous permettra de démarrer, d'arrêter et de redémarrer facilement le service VNC selon les besoins, comme tout autre service systemd.

Copiez le fichier d'unité vncserver avec le cp commande :

sudo cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

Ouvrez le fichier avec votre éditeur de texte, modifiez les lignes surlignées en jaune et remplacez "linuxize" par votre nom d'utilisateur actuel :

sudo nano /etc/systemd/system/vncserver@\:1.service
/etc/systemd/system/vncserver@:1.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=linuxize
Group=linuxize

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %I
PIDFile=/home/linuxize/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

Enregistrez et fermez le fichier. Avertissez systemd que nous avons créé un nouveau fichier d'unité avec :

sudo systemctl daemon-reload

L'étape suivante consiste à activer le fichier unité avec la commande suivante :

sudo systemctl enable vncserver@:1.service

Le nombre 1 après le @ Le signe définit le port d'affichage sur lequel le service VNC s'exécutera. Dans cet exemple, il s'agit de la valeur par défaut 1 , et le serveur VNC écoutera sur le port 5901 , comme nous l'avons vu dans la section précédente.

Démarrez le service VNC en exécutant :

sudo systemctl start vncserver@:1.service

Vérifiez que le service a bien démarré avec :

sudo systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-04-06 19:27:47 UTC; 16s ago
  Process: 909 ExecStart=/usr/bin/vncserver %I (code=exited, status=0/SUCCESS)
  Process: 891 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 923 (Xvnc)
 ...

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 qui transférera en toute sécurité le trafic de votre ordinateur local sur le port 5901 vers le serveur 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 avec le ssh suivant commande :

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

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 #

Si vous exécutez Windows, vous pouvez configurer le tunnel SSH à l'aide du client PuTTY SSH.

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 et 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 #

Maintenant que vous avez configuré le tunnel SSH, il est temps d'ouvrir votre Vncviewer et de vous connecter au serveur VNC à localhost:5901 .

Vous pouvez utiliser n'importe quel visualiseur VNC tel que TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre et VNC Viewer pour Google Chrome.

Dans cet exemple, nous utiliserons TigerVNC. Ouvrez votre visionneuse VNC, entrez localhost:5901 , et cliquez sur Connect bouton.

Entrez votre mot de passe lorsque vous y êtes invité et vous devriez voir le bureau Xfce par défaut. Cela devrait ressembler à ceci :

Vous pouvez maintenant commencer à interagir avec le bureau XFCE distant depuis votre machine locale en utilisant votre clavier et votre souris.


Cent OS
  1. Comment installer et configurer VNC sur Ubuntu 20.04

  2. Comment installer et configurer VNC sur Ubuntu 18.04

  3. Comment installer et configurer un serveur NFS sur CentOS 8

  4. Comment installer et configurer VNC sur CentOS 8

  5. Comment installer et configurer Gitlab sur CentOS 8

Comment installer le serveur VNC sur CentOS 7

Comment installer le serveur VNC sur CentOS 6

Comment installer le serveur VNC sur CentOS 8

Comment installer et configurer le serveur Sandstorm sur CentOS 8

Comment installer et configurer le serveur VNC (TigerVNC) dans CentOS / RHEL 7

Comment installer et configurer VNC Server sur CentOS/RHEL 8