GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer et configurer VNC sur Debian 9

Ce tutoriel décrit comment installer et configurer un serveur VNC sur Debian 9. Nous vous montrerons également comment créer un tunnel SSH et vous connecter en toute sécurité au serveur VNC.

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 d'être connecté en tant qu'utilisateur disposant des privilèges sudo.

Installation de l'environnement de bureau #

Il y a de fortes chances que votre serveur Debian n'ait pas d'environnement de bureau installé. Notre première étape consiste à installer un environnement de bureau léger.

Il existe plusieurs environnements de bureau (DE) disponibles dans les référentiels Debian. Nous utiliserons Xfce comme environnement de bureau de choix. Il est rapide, stable et léger, ce qui le rend idéal pour une utilisation sur un serveur distant.

Mettez à jour l'index des packages et installez Xfce sur votre serveur Debian avec les commandes suivantes :

sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

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

Installation du serveur VNC #

Il existe également plusieurs serveurs VNC différents disponibles dans les référentiels Debian tels que TightVNC, TigerVNC et x11vnc. Chaque serveur VNC a ses forces et ses faiblesses en termes de rapidité et de sécurité.

Nous utiliserons TigerVNC, qui est un serveur VNC haute performance activement maintenu. Pour installer TigerVNC sur votre serveur Debian, lancez la commande suivante :

sudo apt install tigervnc-standalone-server tigervnc-common

Une fois le serveur VNC installé, exécutez le vncserver commande pour créer la configuration initiale et définir le mot de passe. N'utilisez pas sudolorsque vous exécutez 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 'debian9.localdomain:1 (linuxize)' desktop at :1 on machine debian9.localdomain

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

Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd :1 to connect to the VNC server.

Lorsque vous exécutez le vncserver commande pour la première fois, il créera et stockera le fichier de mot de passe dans le ~/.vnc répertoire.

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 noter, 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 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 s'exécute sur le port 5901 (:1 ), nous allons donc l'arrêter avec :

vncserver -kill :1
Killing Xtigervnc process ID 6677... success!

Configuration du serveur VNC #

Maintenant que Xfce et TigerVNC sont installés sur la machine, nous devons configurer TigerVNC pour utiliser Xfce. Pour cela, créez le fichier suivant :

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

Une fois terminé, 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.

Le ~/.vnc/xstartup Le fichier doit également avoir des autorisations d'exécution. Exécutez le chmod suivant commande pour s'assurer que les autorisations sont correctes :

chmod u+x ~/.vnc/xstartup

Si vous avez besoin de passer des options supplémentaires au serveur VNC, vous pouvez créer un fichier nommé config et ajoutez une option par ligne. Voici un exemple :

~/.vnc/config
geometry=1920x1080
dpi=96

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

Le fichier d'unité systemd nous permettra de démarrer, d'arrêter et de redémarrer facilement le service VNC selon les besoins.

Ouvrez votre éditeur de texte et copiez-collez-y la configuration suivante. N'oubliez pas de modifier le nom d'utilisateur à la ligne 7 pour qu'il corresponde à votre nom d'utilisateur.

sudo nano /etc/systemd/system/[email protected]
/etc/systemd/system/[email protected]
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple
User=linuxize
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Enregistrez et fermez le fichier.

Avertir systemd qu'un nouveau [email protected] fichier existe en exécutant la commande suivante :

sudo systemctl daemon-reload

Ensuite, activez le service :

sudo systemctl enable [email protected]

Le nombre 1 après le @ Le signe définit le port d'affichage sur lequel le service VNC s'exécutera. Comme nous en avons discuté dans la section précédente puisque nous utilisons 1 le serveur VNC écoutera sur le port 5901 .

Démarrez le service VNC en exécutant :

sudo systemctl start [email protected]

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

sudo systemctl status [email protected]
[email protected] - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-10-03 05:23:33 PDT; 51s ago
  Process: 7063 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 7071 (vncserver)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/system-vncserver.slice/[email protected]
           ‣ 7071 /usr/bin/perl /usr/bin/vncserver :1 -geometry 1440x900 -alwaysshared -fg

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 SSH avec le ssh 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. Il ne vous reste plus qu'à sélectionner la session enregistrée et à vous connecter au serveur distant en cliquant 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 :

À ce stade, vous vous êtes connecté avec succès à votre serveur via VNC. Vous pouvez maintenant commencer à interagir avec le bureau XFCE distant depuis votre machine locale en utilisant votre clavier et votre souris.


Debian
  1. Comment installer et configurer VNC sur Ubuntu 20.04

  2. Comment installer et configurer OpenVPN Server sur Debian 10

  3. Comment installer et configurer le serveur VNC sur Debian 10

  4. Installer et configurer VNC sur Debian 9 - Processus étape par étape ?

  5. Comment installer et configurer Squid Proxy sur Debian 11

Comment installer et configurer le serveur VNC sur CentOS 7

Comment installer et configurer le serveur Web Apache sur Debian 11

Comment installer et configurer Git dans Debian 11

Comment installer et configurer VNC sur Ubuntu Server 20.04

Comment installer VNC sur Debian 10

Comment installer le serveur VNC sur Debian 11