Comment Installer et Configurer VNC sur Ubuntu 18.04

Introduction

Virtual Network Computing, ou VNC, est un système de connexion qui vous permet d’utiliser votre clavier et votre souris pour interagir avec un environnement de bureau graphique sur un serveur distant. Il facilite la gestion des fichiers, des logiciels et des paramètres sur un serveur distant pour les utilisateurs qui ne sont pas encore à l’aise avec la ligne de commande.

dans ce guide, vous allez configurer un serveur VNC sur un serveur Ubuntu 18.04 et vous y connecter en toute sécurité via un tunnel SSH. Vous utiliserez TightVNC, un package de contrôle à distance rapide et léger., Ce choix garantira que notre connexion VNC sera fluide et stable même sur des connexions internet plus lentes.

prérequis

pour compléter ce tutoriel, vous aurez besoin de:

  • un serveur Ubuntu 18.04 configuré en suivant le guide de configuration initiale du serveur Ubuntu 18.04, y compris un utilisateur non root sudo et un pare-feu.
  • un ordinateur local avec un client VNC installé qui prend en charge les connexions VNC sur les tunnels SSH.
    • sur les Winows, vous pouvez utiliser TightVNC, RealVNC ou UltraVNC.,
    • sur macOS, vous pouvez utiliser le programme de partage d’écran intégré ou utiliser une application multiplateforme comme RealVNC.
    • Sur Linux, vous pouvez choisir parmi de nombreuses options, y compris vinagre, krdc, RealVNC, ou TightVNC.

Étape 1 — Installation de L’environnement de bureau et du serveur VNC

par défaut, un serveur Ubuntu 18.04 n’est pas livré avec un environnement de bureau graphique ou un serveur VNC installé, nous allons donc commencer par les installer., Plus précisément, nous allons installer des packages pour le dernier environnement de bureau Xfce et le package TightVNC disponible dans le référentiel officiel Ubuntu., »>

installez maintenant L’environnement de bureau Xfce sur votre serveur:

  • sudo apt install xfce4 xfce4-goodies

Une fois l’installation terminée, installez le serveur TightVNC:

  • sudo apt install tightvncserver

pour terminer la configuration initiale du serveur VNC après l’installation, utilisez le vncserver commande pour configurer un mot de passe sécurisé et créer les fichiers de configuration initiaux:

  • vncserver

Vous serez invité à entrer et vérifier un mot de passe pour accéder à votre machine à distance:

Output
You will require a password to access your desktops.Password:Verify:

Le mot de passe doit comporter entre six et huit caractères., Les mots de passe de plus de 8 caractères seront tronqués automatiquement.

Une fois que vous aurez vérifié le mot de passe, vous aurez la possibilité de créer un mot de passe en vue seule. Les utilisateurs qui se connectent avec le mot de passe en vue seule ne pourront pas contrôler l’instance VNC avec leur souris ou leur clavier. C’est une option utile si vous voulez montrer quelque chose à d’autres personnes en utilisant votre serveur VNC, mais ce n’est pas nécessaire.

le processus crée ensuite les fichiers de configuration par défaut nécessaires et les informations de connexion pour le serveur:

configurons maintenant le serveur VNC.,

Étape 2 — Configuration du serveur VNC

le serveur VNC doit savoir quelles commandes exécuter au démarrage. Plus précisément, VNC doit savoir à quel bureau graphique il doit se connecter.

Ces commandes se trouvent dans un fichier de configuration appeléxstartupdans le dossier.vnc sous votre répertoire personnel. Le script de démarrage a été créé lorsque vous avez exécuté le vncserver à l’étape précédente, mais nous allons créer le nôtre pour lancer le bureau Xfce.,

lorsque VNC est configuré pour la première fois, il lance une instance de serveur par défaut sur le port5901. Ce port est appelé un port d’affichage, et est désigné par VNC comme :1. VNC peut lancer plusieurs instances sur d’autres ports d’affichage, comme :2, :3, et ainsi de suite.,rver est configuré, arrêtez d’abord l’instance de serveur VNC qui s’exécute sur le port 5901 avec la commande suivante:

  • vncserver -kill :1

la sortie devrait ressembler à ceci, bien que vous verrez un PID différent:

Output
Killing Xtightvnc process ID 17648

avant de modifier= »cb03d4e5a9″>, sauvegardez l’original:

  • mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

créez maintenant un nouveau fichier xstartup et ouvrez-le dans votre éditeur de texte:

  • nano ~/.vnc/xstartup

Les commandes de ce fichier sont exécutées automatiquement chaque fois que vous démarrez ou redémarrez le serveur VNC., Nous avons besoin de VNC pour démarrer notre environnement de bureau s’il n’est pas déjà démarré. Ajoutez ces commandes au fichier:

~/.vnc/xstartup
#!/bin/bashxrdb $HOME/.Xresourcesstartxfce4 &

La première commande dans le fichier xrdb $HOME/.Xresources, dit VNC GUI cadre de lire le serveur de l’utilisateur .Xresources fichier. .Xresources est l’endroit où un utilisateur peut apporter des modifications à certains paramètres du bureau graphique, comme les couleurs des terminaux, les thèmes de curseur et le rendu des polices., La deuxième commande indique au serveur de lancer Xfce, où vous trouverez tous les logiciels graphiques dont vous avez besoin pour gérer confortablement votre serveur.

pour s’assurer que le serveur VNC pourra utiliser correctement ce nouveau fichier de démarrage, nous devrons le rendre exécutable.

  • sudo chmod +x ~/.vnc/xstartup

Maintenant, redémarrez le serveur VNC.

  • vncserver

vous verrez une sortie similaire à celle-ci:

avec la configuration en place, connectons-nous au serveur à partir de notre machine locale.,

Étape 3 — Connexion sécurisée du Bureau VNC

VNC lui-même n’utilise pas de protocoles sécurisés lors de la connexion. Nous utiliserons un tunnel SSH pour nous connecter en toute sécurité à notre serveur, puis dirons à notre client VNC d’utiliser ce tunnel plutôt que d’établir une connexion directe.

créez une connexion SSH sur votre ordinateur local qui transmet en toute sécurité à la connexionlocalhost pour VNC. Vous pouvez le faire via le terminal sous Linux ou macOS avec la commande suivante:

  • ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

Le -L commutateur spécifie le port liaisons., Dans ce cas, nous lions le port 5901 de la connexion distante au port 5901 sur votre machine locale. Le commutateur-C active la compression, tandis que le commutateur-N indique àssh que nous ne voulons pas exécuter de commande à distance. Le commutateur-l spécifie le nom de connexion distant.

N’oubliez pas de remplacer sammy Et your_server_ip par le nom d’utilisateur sudo non-root et l’adresse IP de votre serveur.,

Si vous utilisez un client SSH graphique, comme PuTTY, utilisezyour_server_ip comme IP de connexion, et définissezlocalhost:5901 comme nouveau port transféré dans les paramètres du tunnel SSH du programme.

Une fois que le tunnel est en cours d’exécution, utilisez un client VNC pour vous connecter àlocalhost:5901. Vous serez invité à vous authentifier à l’aide du mot de passe que vous avez défini à L’Étape 1.

Une fois que vous êtes connecté, vous verrez le bureau Xfce par défaut., Cela devrait ressembler à ceci:

Vous pouvez accéder aux fichiers de votre répertoire personnel avec le gestionnaire de fichiers ou à partir de la ligne de commande, comme on le voit ici:

appuyez sur CTRL+C dans votre terminal pour arrêter le tunnel SSH et revenir à votre invite. Cela déconnectera également votre session VNC.

ensuite, configurons notre serveur VNC en tant que service.,

Étape 4 — Exécution de VNC en tant que service système

ensuite, nous allons configurer le serveur VNC en tant que service systemd afin que nous puissions le démarrer, l’arrêter et le redémarrer au besoin, comme tout autre service. Cela garantira également que VNC démarre lorsque votre serveur redémarre.

tout d’abord, créez un nouveau fichier d’unité appelé/etc/systemd/system/[email protected] en utilisant votre éditeur de texte préféré:

le symbole@ à la fin du nom nous permettra de passer un argument que nous pouvons utiliser dans la configuration du service., Nous allons l’utiliser pour spécifier le port d’affichage VNC que nous voulons utiliser lorsque nous gérons le service.

ajoutez les lignes suivantes au fichier. Assurez-vous de modifier la valeur de User, Group, WorkingDirectory et le nom d’utilisateur dans la valeur de PIDFILE pour correspondre à votre nom d’utilisateur:

/etc/systemd/system/[email protected]

la commandeExecStartPre arrête VNC s’il est déjà en cours d’exécution. La commandeExecStart démarre VNC et définit la profondeur de couleur sur la couleur 24 bits avec une résolution de 1280×800. Vous pouvez également modifier ces options de démarrage pour répondre à vos besoins.,

Enregistrez et fermez le fichier.

ensuite, informez le système du nouveau fichier d’unité.

  • sudo systemctl daemon-reload

Permettre à l’unité de fichiers.

Le 1 suivant le signe @ indique le numéro d’affichage sur lequel le service doit apparaître, dans ce cas, le :1 par défaut, comme indiqué à L’Étape 2..

arrêtez l’instance actuelle du serveur VNC si elle est toujours en cours d’exécution.

  • vncserver -kill :1

Ensuite, démarrez-le comme vous le feriez commencer à tout autre service systemd.,

  • sudo systemctl start vncserver@1

Vous pouvez vérifier que cela a commencé avec cette commande:

  • sudo systemctl status vncserver@1

S’il a démarré correctement, le résultat devrait ressembler à ceci:

Votre serveur VNC sera maintenant disponible lorsque vous redémarrez la machine.

redémarrez votre tunnel SSH:

  • ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

puis établissez une nouvelle connexion en utilisant votre logiciel client VNC àlocalhost:5901 pour vous connecter à votre machine.

Conclusion

Vous avez maintenant un serveur VNC sécurisé opérationnel sur votre serveur Ubuntu 18.04., Maintenant, vous serez en mesure de gérer vos fichiers, logiciels et paramètres avec une interface graphique facile à utiliser et familier, et vous serez en mesure d’exécuter des logiciels graphiques comme les navigateurs web à distance.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *