VNC signifie Virtual Network Computing. Il vous aide à contrôler votre machine Ubuntu à distance. Le serveur VNC utilise le protocole Remote Frame Buffer (RFB) pour contrôler à distance un autre ordinateur.
Lorsqu'un personnel de support technique utilise le clavier ou la souris, VNC transmet les signaux du clavier et de la souris au serveur distant. Il rend les travaux d'administration plus faciles et pratiques avec une interface utilisateur graphique. De plus, VNC est plus fiable que les connexions graphiques SSH et RDP.
Ce didacticiel passera en revue les étapes d'installation et de configuration de VNC sur Ubuntu 20.04 à l'aide de TightVNC. Si vous exécutez un VNC sur la version précédente d'Ubuntu 16.04, il existe un guide pour cela.
Installer l'environnement de bureau et le serveur VNC
Tout d'abord, installons un environnement de bureau sur votre serveur Ubuntu car il n'est pas installé par défaut. Il existe de nombreux choix :GNOME, MATE, XFCE, etc.
Dans ce tutoriel, nous choisirons le XFCE. Il s'agit d'un environnement de bureau léger et il aide la connexion VNC à être stable et fluide.
Sur votre serveur Ubuntu, exécutez la commande suivante pour mettre à jour la liste des packages :
$ sudo apt update
Ensuite, installons l'environnement de bureau XFCE :
$ sudo apt install xfce4 xfce4-goodies gnome-icon-theme
Ici, j'utilise le serveur TightVNC, les autres serveurs VNC populaires sont TigerVNC et x11vnc.
Installez tightvnc :
$ sudo apt install tightvncserver
Ensuite, lançons une instance de serveur VNC et vous devez définir un mot de passe pour le serveur installé :
$ vncserver
Comme nous démarrons le serveur pour la première fois après l'installation, il nous demandera de définir un mot de passe que le client utilise pour se connecter. Il demandera également de définir un mot de passe en lecture seule qui permettra à l'utilisateur de voir l'écran mais pas d'interagir avec lui.
Notez que la longueur du mot de passe est comprise entre 6 et 8 caractères. Si vous saisissez un mot de passe plus long, il sera automatiquement supprimé.
Si vous voulez changer le mot de passe du serveur VNC, lançons :
$ vncpasswd
Configurer le serveur VNC
Lorsque vous démarrez l'instance du serveur VNC pour la première fois, le fichier de configuration initial sera créé :'~/.vnc/xstartup' et le serveur VNC écoute sur le port 5901. Nous appelons ce port un port d'affichage. Nous pouvons lancer plusieurs instances du serveur VNC et chaque instance a ses propres ports d'affichage :le premier écran écoute sur le port 5901, le deuxième écran écoute sur le port 5902 et ainsi de suite.
Il est nécessaire de configurer le serveur VNC pour qu'il s'exécute avec le démarrage du serveur Ubuntu. En outre, vous devez indiquer explicitement à quel environnement de bureau le serveur VNC se connectera.
Tout d'abord, arrêtons l'instance actuelle du serveur VNC qui s'exécute sur le port TCP 5901 :
$ vncserver -kill :1
Sauvegardez ensuite le fichier de configuration actuel :
$ cp ~/.vnc/xstartup ~/.vnc/xstartup.bak
Maintenant, modifiez le fichier 'xstartup' avec votre éditeur préféré comme ci-dessous :
#!/bin/sh
xrdb $HOME/.Xresources
startxfce4 &
Redémarrez le serveur VNC :
$ vncserver -localhost
Se connecter au serveur VNC
Par défaut, le serveur VNC n'utilise pas le protocole sécurisé. Afin de sécuriser la connexion au serveur Ubuntu à distance, vous devez créer un tunnel SSH et indiquer que le client VNC se connecte au serveur VNC via ce tunnel.
Établissons une connexion SSH sur la machine locale qui transfère le trafic vers le "localhost" pour VNC. Lancez le terminal sur votre machine locale (macOS ou Linux), exécutez la commande suivante :
$ ssh -L 59000:localhost:5901 -C -l <user> <server_ip_address
>Où :
-L 59000:localhost:5901 :le port sur la machine locale est 59000 sera redirigé vers le serveur de destination :localhost:5901
-C :compresser les données pour accélérer la connexion
-l
:indiquez l'utilisateur auquel vous allez vous connecter et l'adresse IP du serveur Ubuntu 20.04 Configurer le tunnel SSH sous Windows
Si vous utilisez un système d'exploitation Windows, vous pouvez configurer le tunnel SSH à l'aide du client PuTTY SSH.
Ouvrons le PuTTY puis saisissons l'adresse IP de votre serveur Ubuntu :
Ensuite, déroulez le sous-menu Connection> SSH> Tunnels, entrez '5901' dans le 'Source port' et '
:5901' dans la 'Destination'. Ensuite, cliquez sur le bouton "Ajouter" comme ci-dessous : En utilisant le tunnel SSH, la connexion VNC à votre serveur Ubuntu 20.04 n'autorise que les machines qui peuvent ssh au serveur. Il ne permet pas à chaque machine de se connecter simplement au port 5901.
Maintenant, vous pouvez vous connecter au serveur Ubuntu à distance en utilisant un client VNC. Dans ce tutoriel, nous utilisons le visualiseur VNC. Ouvrez le client VNC puis entrez l'adresse IP du serveur et le port 5901 :
Vous vous êtes connecté avec succès au bureau XFCE de votre serveur Ubuntu :
Vous pouvez contrôler le serveur comme si vous travailliez avec un serveur physique dans votre bureau. Par exemple, vous pouvez accéder au gestionnaire de fichiers, lancer un programme ou ouvrir le terminal :
Configurer le serveur VNC en tant que service systemd
En exécutant le serveur VNC en tant que service système, vous pouvez facilement le démarrer, l'arrêter ou le redémarrer quand vous le souhaitez.
Créons un nouveau fichier appelé '[email protected]' dans le répertoire '/etc/systemd/system/' sur votre serveur Ubuntu :
$ sudo vim /etc/systemd/system/[email protected]
eAjoutez le contenu suivant au fichier '[email protected]' et assurez-vous que les valeurs des lignes 7, 8, 9 et 13 correspondent à votre environnement.
[Unit] Description=Start TightVNC server at startup After=syslog.target network.target [Service] Type=forking User=ubuntu Group=ubuntu WorkingDirectory=/home/ubuntu PIDFile=/home/ubuntu/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target
Ensuite, rechargez le démon système :
$ sudo systemctl daemon-reload
Activez le service :
$ sudo systemctl enable [email protected]
Où :
@1.service :le premier affichage associé au port 5901.
Sortie :
Created symlink /etc/systemd/system/multi-user.target.wants/[email protected] → /etc/systemd/system/[email protected].
Arrêtez l'instance en cours d'exécution :
$ vncserver -kill :1 Killing Xtightvnc process ID 3159
Ensuite, redémarrez ce service systemd :
$ sudo systemctl start vncserver@1
Vous pouvez maintenant vérifier si le service fonctionne correctement :
$ sudo systemctl status vncserver@1
Sortie :
● [email protected] - Start TightVNC server at startup Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled) Active: active (running) since Sun 2020-08-16 17:37:51 UTC; 2min 2s ago Process: 4611 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2) Process: 4615 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :1 (code=exited, status> Main PID: 4623 (Xtightvnc) Tasks: 129 (limit: 7125) Memory: 187.5M ...
Conclusion
Dans ce didacticiel, nous avons appris à installer et à configurer le serveur VNC sur Ubuntu 20.04. Désormais, vous pouvez gérer votre serveur Ubuntu à distance avec une interface utilisateur graphique.
Merci d'avoir lu et s'il vous plaît laissez votre suggestion dans la section des commentaires ci-dessous.