Retour au blog

Installation et configuration de Virtual Network Computing (VNC) sur Ubuntu 20.04

Installation et configuration de Virtual Network Computing (VNC) sur Ubuntu 20.04

Virtual Network Computing (VNC) est un système de partage d'écran utilisé pour accéder à distance à des interfaces graphiques. Il utilise le protocole RFB (remote frame buffer) permettant à un serveur (côté utilisateur) de se connecter à un autre côté (client). VNC est sûr, sécurisé et fonctionne sur tous les systèmes d'exploitation.

RealVNC, UltraVNC, Xfce, TightVNC, pour n'en citer que quelques-uns, sont les clients VNC les plus populaires utilisés aujourd'hui. Parmi la liste des alternatives disponibles, vous êtes libre de choisir le VNC de votre choix. Dans ce tutoriel, nous vous guiderons à travers les étapes d'installation et de configuration de VNC sur Ubuntu 20.04. Nous allons installer Xfce en raison de sa rapidité, de sa légèreté et de ses excellentes performances.

Nous commencerons par configurer un serveur VNC sur un serveur Ubuntu et par établir une connexion sécurisée via le tunnel SSH. Enfin, nous utiliserons un programme client VNC sur notre machine locale pour interagir avec le serveur via un environnement de bureau graphique.

Prérequis

Pour suivre ce tutoriel, vous aurez besoin de :

Étape 1 — Installer l'environnement de bureau et le serveur VNC

Contrairement aux versions précédentes d'Ubuntu, Ubuntu 20.04 n'est pas livré avec un VNC préinstallé. Dans un premier temps, nous allons installer les paquets nécessaires depuis le dépôt officiel d'Ubuntu. Avant de continuer, mettons à jour les paquets existants :

Maintenant, nous allons installer Xfce et le paquet xfce4-goodies à l'aide de la commande :

Pendant l'installation de votre paquet, vous verrez un écran vous invitant à choisir un gestionnaire d'affichage par défaut pour Xfce. Ignorez le message ou définissez-le par défaut, puis appuyez sur ENTRÉE.

Un gestionnaire d'affichage est un programme qui permet aux utilisateurs de se connecter à un environnement de bureau via une interface graphique. Dans ce tutoriel, nous utiliserons Xfce lors de la connexion avec un client VNC où nous sommes connectés en tant qu'utilisateur Ubuntu non-root. Par conséquent, le choix du gestionnaire d'affichage n'aura aucun impact sur notre installation.

Après l'installation de Xfce, nous allons installer le serveur TightVNC :

À l'étape suivante, utilisez la commande vncserver pour configurer un mot de passe d'accès VNC et créer les fichiers de configuration initiaux. Saisissez ce qui suit pour démarrer l'instance du serveur VNC :

Après cela, configurez un mot de passe d'une longueur de 6 à 8 caractères et appuyez sur ENTRÉE. Vous verrez un message d'invite :

Après avoir vérifié le mot de passe, vous aurez la possibilité de créer un mot de passe en lecture seule. Les utilisateurs qui se connectent à l'aide du mot de passe en lecture seule ne pourront pas contrôler le VNC avec la souris ou le clavier. Encore une fois, cela est simplement recommandé et vous pouvez l'activer si vous en avez besoin, sinon vous pouvez l'ignorer.

À l'avenir, si vous souhaitez modifier votre mot de passe ou ajouter un mot de passe en lecture seule, utilisez la commande :

À ce stade, vous aurez toutes les configurations par défaut créées pour le serveur, et un port d'affichage 5901 lancé comme :1. VNC peut lancer plusieurs instances sur d'autres ports d'affichage comme :2, :3, et :4 faisant référence au port 5902, 5903, et 5904 respectivement :

Votre serveur VNC est maintenant installé et fonctionne avec succès. À l'étape suivante, configurons le serveur pour lancer Xfce afin d'obtenir un accès via l'interface graphique.

Étape 2 — Configurer le serveur VNC

Sous le répertoire home, vous trouverez le .vnc dossier qui contient tous les fichiers de configuration appelés startup. Initialement, vous trouverez le fichier de démarrage en cours d'exécution qui a été automatiquement créé lorsque nous avons exécuté la commande vncserver à l'Étape-1. Le script de démarrage a été créé lorsque vous avez exécuté la commande vncserver dans l'étape précédente. Cependant, vous allez maintenant créer le vôtre pour lancer le bureau Xfce. Nous devrons également créer notre propre serveur pour lancer le bureau Xfce car la configuration VNC va changer.

Avant de poursuivre, nous devons arrêter l'instance du serveur VNC s'exécutant sur le port 5901:

Vous verrez la sortie suivante :

Au lieu de 17648, vous obtiendrez peut-être un numéro différent et ce n’est pas grave. Ensuite, nous modifierons le fichier xstartup . Avant d'apporter des modifications au fichier, sauvegardons le fichier d'origine :

Ensuite, créez un nouveau fichier xstartup et ouvrez-le dans n'importe quel éditeur de texte. Dans ce tutoriel, nous utilisons nano:

Une fois cela fait, ajoutez les lignes suivantes au fichier :

Chaque fois que vous démarrez ou redémarrez le serveur VNC, ces commandes s'exécutent automatiquement. La première ligne est le Shebang qui informe le système sur l'interpréteur à utiliser pour lui passer le fichier ~/.vnc/xstartup pour exécution. La ligne suivante xrdb $HOME/. Xresources, informe le framework GUI de VNC de lire le fichier Xresources de l'utilisateur du serveur. Enfin, la dernière ligne demande au serveur de lancer Xfce. Après avoir ajouté ces lignes, enregistrez et fermez le fichier.

Nous devons rendre le fichier exécutable afin que le serveur VNC puisse utiliser le nouveau fichier de démarrage :

Ensuite, redémarrez le serveur VNC :

Maintenant, vous aurez l’option -localhost ajoutée ici. Le localhost lie le serveur VNC à l'interface de bouclage de votre serveur, permettant uniquement les connexions provenant de serveurs installés. Ensuite, nous allons établir un tunnel SSH entre notre machine locale et le serveur. Le but est d'ajouter une couche de sécurité supplémentaire autour de VNC. Pourquoi ? Parce que les utilisateurs qui y auront accès seront ceux qui ont déjà un accès SSH au serveur.

Vous verrez la sortie suivante :

Une fois la configuration établie, nous sommes prêts à nous connecter au serveur VNC depuis notre machine locale.

Étape 3 — Se connecter en toute sécurité au bureau VNC

Lors de la connexion au serveur, VNC n'utilise pas de protocoles sécurisés. Par conséquent, nous devons établir un tunnel SSH et demander au client VNC d'établir une connexion en utilisant le tunnel au lieu de lui permettre d'établir une connexion directe de lui-même.

Nous allons créer une connexion SSH sur notre ordinateur local en utilisant la commande ssh qui redirige vers la connexion localhost . Utilisez la commande sur le terminal pour créer une connexion SSH :

Déchiffrons le code ci-dessus :

  • -L 59000:localhost:5901: L’option -L spécifie que le port donné sur l’ordinateur local ( 59000) sera redirigé vers l’hôte et le port donnés sur le serveur de destination ( localhost:5901). Cela signifie que le port 5901 sur le serveur de destination sera défini comme your_server_ip). Le port local que vous spécifiez est arbitraire. Tant que le port n'est pas déjà lié à un autre service, vous êtes libre de l'utiliser comme port de redirection pour votre tunnel.

  • -C: Active la compression, ce qui aide à minimiser la consommation de ressources et à accélérer les performances.

  • -N: Utile pour la redirection de ports. Cela informe ssh de n'exécuter aucune commande distante.

  • -l cloudsigma your_server_ip: L'option -l permet de spécifier l'utilisateur sous lequel vous souhaitez vous connecter après vous être connecté au serveur.

La commande ci-dessus est un moyen plus sûr d'établir une connexion sécurisée que de simplement ouvrir le pare-feu de votre serveur pour autoriser les connexions au port 5901 depuis n'importe où. Une fois la connexion établie, le tunnel SSH redirige le contenu du port 5901 de votre VNC vers le port 59000 de votre machine locale via le port SSH par défaut ; le port 22.

Vous pouvez également utiliser PuTTY pour vous connecter à votre serveur. Ouvrez PuTTY, allez sur le côté gauche du terminal PuTTY et trouvez la branche Connection pour vous connecter. Ensuite, développez la branche SSH et cliquez sur Tunnels. Sur l'écran Options controlling SSH port forwarding screen, saisissez 59000 comme Source Port et localhost:5901 comme Destination:

VNC image 1

Laissez toutes les options inchangées, cliquez sur Add, puis sur Apply pour mettre en œuvre le tunnel. Une fois le tunnel démarré, utilisez un client VNC pour vous connecter à localhost: 59000. Par défaut, vous serez invité à vous authentifier à l'aide du mot de passe que nous avons créé à l'Étape 1. Une fois connecté, vous verrez le bureau Xfce par défaut :

VNC 2

Vous pouvez accéder aux fichiers du répertoire personnel et les gérer. De plus, configurez votre serveur VNC pour qu'il s'exécute en tant que service systemd.

Étape 4 — Exécuter VNC en tant que service Systemd

La configuration du serveur VNC pour qu'il s'exécute en tant que service systemd permet la gestion du serveur. Vous pouvez démarrer, arrêter, redémarrer ou terminer, selon votre convenance et vos besoins. À chaque démarrage du serveur, vous pouvez utiliser les commandes de gestion systemd pour vérifier si le serveur est ACTIF ou INACTIF.

Tout d'abord, nous allons créer un nouveau fichier d'unité pour spécifier le port d'affichage VNC que nous voulons utiliser lors de la gestion des services. Définissez un fichier d'unité :

Vous trouverez le symbole @ à la fin du nom de fichier, ce qui vous permet de passer un argument pour utiliser la configuration du service.

Ensuite, ajoutez l'ensemble de lignes au fichier d'unité. Renommez les User, Group, WorkingDirectory, et le nom d'utilisateur dans la valeur de PIDFILE:

Si le VNC est déjà en cours d'exécution, la commande ExecStartPre l'arrêtera. La commande ExecStart démarre VNC et définit la profondeur de couleur sur 24 bits avec une résolution de 1280×800. Vous pouvez modifier ces options de démarrage en fonction de vos besoins. Notez également que la commande ExecStart inclut à nouveau l'option -localhost . Une fois cela fait, enregistrez et fermez le fichier d'unité.

Ensuite, présentez le nouveau fichier d'unité à votre système :

Activez le fichier d'unité :

Le 1 qui suit le @ sign signifie sur quel numéro d'affichage le service doit apparaître. Dans notre cas, il s'agit de la valeur par défaut :1 comme cela a été discuté dans l'Étape-2. Si le VNC est toujours en cours d'exécution, vous pouvez arrêter l'instance actuelle du serveur VNC à l'aide de la commande kill :

Ensuite, démarrez-le comme vous le feriez pour tout autre service systemd :

Vous pouvez vérifier qu'il a démarré avec cette commande :

Vous verrez la sortie suivante :

Votre serveur VNC est désormais prêt à être utilisé à chaque démarrage de votre serveur, et vous pouvez le gérer avec des systemctl commandes comme tout autre service systemd. Cependant, vous ne verrez aucune différence du côté client. Pour vous reconnecter, démarrez votre SSH tunnel en utilisant :

Vous pouvez à nouveau vous connecter à l'aide de votre client VNC à localhost:59000 avec votre serveur.

Conclusion

Au départ, la configuration d'un serveur VNC peut sembler difficile, surtout lorsque vous essayez de vous connecter à un nouvel ordinateur. Une fois que vous aurez établi une connexion fiable, travailler avec un ordinateur distant sera amusant et passionnant. Avec un serveur VNC sécurisé et opérationnel sur votre serveur Ubuntu 20.04, vous pouvez facilement gérer vos ressources, fichiers, logiciels et paramètres grâce à une interface graphique conviviale. L'utilisation d'une bande passante excessive est peut-être l'un des inconvénients de VNC. Vous pouvez y remédier en utilisant des écrans basse résolution et en niveaux de gris pour un transfert plus rapide.

Bonne informatique !

author

Shreyas Patil

Auteur · CloudSigma

Preslav Dobrev est un designer créatif chez CloudSigma, axé sur une identité commerciale cohérente à travers des canaux marketing traditionnels et innovants. Il excelle à fusionner la vision artistique avec le marketing stratégique pour créer des récits de marque percutants.

Commentaires

Aucun commentaire pour l'instant. Soyez le premier.