Comment activer le protocole Bureau à distance à l’aide de xrdp sur Ubuntu 22.04

L’auteur a sélectionné le Fonds de secours COVID-19 pour recevoir un don dans le cadre du programme Write for DOnations.

Introduction

Le protocole de bureau à distance (RDP) est un protocole réseau développé par Microsoft qui permet aux utilisateurs d’accéder et d’interagir à distance avec l’interface utilisateur graphique d’un serveur Windows distant. RDP fonctionne sur le modèle client-serveur, où un client RDP est installé sur une machine locale et un serveur RDP est installé sur le serveur distant.

RDP est largement utilisé pour les connexions distantes Windows, mais vous pouvez également accéder et interagir avec l’interface utilisateur graphique d’un serveur Linux distant en utilisant un outil tel que xrdp, une implémentation open-source du serveur RDP.

Dans ce tutoriel, vous installerez et configurerez un serveur RDP en utilisant xrdp sur un serveur Ubuntu 22.04 et y accéderez en utilisant un client RDP depuis votre machine locale. Vous comprendrez comment établir l’accès à un serveur Linux distant en configurant et en utilisant une connexion RDP.

Déployez vos applications frontend depuis GitHub en utilisant la plateforme d’application DigitalOcean. Laissez DigitalOcean se charger de mettre à l’échelle votre application.

Prérequis

Pour terminer ce tutoriel, vous aurez besoin de :

  • Un serveur Ubuntu 22.04 avec un utilisateur non root ayant des privilèges sudo, un pare-feu et au moins 1 Go de RAM, que vous pouvez configurer en suivant le guide de configuration initiale du serveur Ubuntu 22.04.

  • Un ordinateur local avec un client RDP installé. Une liste des clients RDP disponibles pour différents systèmes d’exploitation est fournie ci-dessous :

    • Sous Windows, vous pouvez utiliser l’application par défaut Connexion Bureau à Distance.
    • Sous macOS, vous pouvez utiliser l’application Bureau à Distance Microsoft.
    • Sous Linux, vous pouvez utiliser FreeRDP ou Remmina.

Étape 1 — Installation d’un environnement de bureau sur Ubuntu

Dans cette étape, vous installerez et configurerez un environnement de bureau sur votre serveur Ubuntu. Par défaut, un serveur Ubuntu ne dispose que d’un environnement de terminal. Un environnement de bureau devra être installé pour accéder à une interface utilisateur.

Parmi les options disponibles pour Ubuntu, vous installerez l’environnement de bureau Xfce. Xfce offre un environnement de bureau léger et convivial pour les systèmes basés sur Linux.

Pour commencer, connectez-vous à votre serveur en utilisant SSH et mettez à jour la liste des paquets disponibles en utilisant la commande suivante:

  1. sudo apt update

Ensuite, installez les paquets xfce et xfce-goodies sur votre serveur:

  1. sudo apt install xfce4 xfce4-goodies -y

Vous serez invité à choisir un gestionnaire d’affichage, qui est un programme qui gère les mécanismes de connexion graphique et les sessions utilisateur. Vous pouvez choisir n’importe quelle option dans la liste des gestionnaires d’affichage disponibles, mais ce tutoriel utilisera gdm3.

Après avoir installé l’environnement de bureau, vous allez maintenant installer xrdp sur votre serveur.

Étape 2 — Installation de xrdp sur Ubuntu

xrdp est une implémentation open-source du serveur RDP qui permet des connexions RDP pour les serveurs basés sur Linux. À cette étape, vous allez installer xrdp sur votre serveur Ubuntu.

Pour installer xrdp, exécutez la commande suivante dans le terminal :

  1. sudo apt install xrdp -y

Après avoir installé xrdp, vérifiez l’état de xrdp en utilisant systemctl :

  1. sudo systemctl status xrdp

Cette commande affichera l’état comme actif (en cours d'exécution) :

Output
● xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled) Active: **active (running)** since Sun 2022-08-07 13:00:44 UTC; 26s ago Docs: man:xrdp(8) man:xrdp.ini(5) Main PID: 17904 (xrdp) Tasks: 1 (limit: 1131) Memory: 1016.0K CGroup: /system.slice/xrdp.service └─17904 /usr/sbin/xrdp

Si l’état de xrdp n’est pas en cours d'exécution, vous devrez peut-être démarrer le service manuellement avec cette commande :

  1. sudo systemctl start xrdp

Après avoir exécuté la commande ci-dessus, vérifiez à nouveau l’état pour vous assurer que xrdp est dans un état en cours d'exécution.

Vous avez maintenant installé xrdp sur votre serveur. Ensuite, vous passerez en revue la configuration de xrdp pour accepter les connexions des clients distants.

Étape 3 — Configuration de xrdp et mise à jour de votre pare-feu

Dans cette étape, vous allez examiner la configuration par défaut de xrdp, qui est stockée sous /etc/xrdp/xrdp.ini, et ajouter une configuration pour une connexion RDP. Vous mettrez également à jour les paramètres du pare-feu.

xrdp.ini est le fichier de configuration par défaut pour configurer les connexions RDP vers le serveur xrdp. Le fichier de configuration peut être modifié et personnalisé pour répondre aux exigences de connexion RDP.

Ouvrez le fichier dans l’éditeur de texte nano ou tout autre éditeur de votre choix:

  1. sudo nano /etc/xrdp/xrdp.ini

Le fichier de configuration contient différentes sections:

  • Globals définit certains paramètres de configuration globaux pour xrdp.
  • Logging définit les paramètres du sous-système de journalisation pour les journaux.
  • Channels définit plusieurs paramètres de canal pris en charge par RDP.
  • Types de sessions définit plusieurs types de sessions pris en charge par xrdp. Chaque configuration de type de session est définie comme une section distincte sous son nom de type de session, encadrée de crochets, tels que [Xorg] et [XVnc]. Il n’y a pas d’en-tête [Types de sessions] dans le fichier; au lieu de cela, il est écrit comme un commentaire.

Dans le fichier de configuration, accédez à la section Types de sessions. Vous trouverez plusieurs types de sessions pris en charge et leurs paramètres répertoriés:

Output
... ; ; Session types ; ; Some session types such as Xorg, X11rdp, and Xvnc start a display server. ; Startup command-line parameters for the display server are configured ; in sesman.ini. See and configure also sesman.ini. [Xorg] name=Xorg lib=libxup.so username=ask password=ask ip=127.0.0.1 port=-1 code=20 [Xvnc] name=Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=-1 #xserverbpp=24 #delay_ms=2000 [vnc-any] ... [neutrinordp-any] ... ...

Par défaut, les paramètres username et password sont définis sur ask, ce qui signifie que l’utilisateur sera invité à saisir son nom d’utilisateur et son mot de passe pour se connecter via RDP. Les paramètres tels que name, username et password peuvent être modifiés si nécessaire. Pour la connexion RDP initiale au serveur, la configuration par défaut suffira.

Enregistrez et fermez le fichier une fois terminé.

Maintenant, accédez au répertoire personnel de votre utilisateur si vous n’y êtes pas déjà :

  1. cd ~

Ensuite, vous créerez un fichier .xsession sous /home/sammy et ajouterez xfce4-session en tant que gestionnaire de session à utiliser lors de la connexion :

  1. echo "xfce4-session" | tee .xsession

tee écrit la chaîne écho "xfce4-session" dans le fichier .xsession. La configuration ci-dessus garantit que xfce4-session est utilisé comme gestionnaire de session lors de la demande de connexion graphique. En installantxfce en tant qu’environnement de bureau, xfce4-session sert de gestionnaire de session. Si vous n’incluez pas cette information dans le fichier .xsession, aucun gestionnaire de session n’est choisi et la session RDP échouera à se connecter à l’affichage graphique.

Redémarrez le serveur xrdp :

  1. sudo systemctl restart xrdp

Ensuite, configurez votre pare-feu pour autoriser les connexions à distance depuis votre adresse IP publique sur le port 3389. Une connexion RDP utilise le port TCP/IP 3389. Pour accéder au serveur distant via RDP, vous devez autoriser le port 3389 dans votre pare-feu.

Tout d’abord, trouvez l’adresse IP publique de votre machine locale :

  1. curl ifconfig.me

Sur Windows, utilisez l’invite de commande Windows pour exécuter cette commande.

curl place une requête sur ifconfig.me qui renvoie votre adresse IP publique en sortie:

Output
... your_local_ip

Ensuite, autorisez l’accès au port RDP 3389 sur votre serveur distant, en remplaçant votre_adresse_ip_locale par le résultat de la dernière commande:

  1. sudo ufw allow from your_local_ip/32 to any port 3389

Vérifiez le statut de votre pare-feu UFW:

  1. sudo ufw status

La sortie devrait ressembler à ce qui suit:

Output
Status: Active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 3389 ALLOW your_local_ip OpenSSH (v6) ALLOW Anywhere (v6) ...

Vous avez maintenant activé le port 3389 pour accepter les connexions depuis votre adresse IP publique. Ensuite, vous testerez la connexion RDP de votre machine locale à votre serveur distant.

Étape 4 — Test de la connexion RDP

Dans cette étape, vous testerez la connexion RDP depuis votre machine locale. Les sections ci-dessous incluent les actions pour tester la connexion sur les machines Windows, macOS et Linux.

Tester la connexion RDP sur Windows

Pour tester la connexion en utilisant le client Connexion Bureau à distance sur Windows, lancez d’abord l’application Connexion Bureau à distance.

Entrez l’adresse IP publique de votre serveur distant et le nom d’utilisateur dans les champs de texte modifiables pour Ordinateur et Nom d’utilisateur. Vous devrez peut-être appuyer sur la flèche vers le bas pour Afficher les options afin de saisir le nom d’utilisateur:

Appuyez sur le bouton Connecter. Si vous recevez une alerte indiquant que le Bureau à distance ne peut pas se connecter à l'ordinateur distant, vérifiez que vous avez activé l’option Bureau à distance dans les paramètres de votre système.

Appuyez sur Oui si vous recevez la fenêtre contextuelle de vérification d’identité:

Ensuite, entrez le nom d’utilisateur de votre serveur distant (sammy) et le mot de passe que vous avez créé pour l’utilisateur sammy lors de la configuration initiale du serveur. Appuyez sur Ok.

Une fois connecté, vous devriez pouvoir accéder à votre environnement de bureau Ubuntu:

En utilisant RDP, vous avez réussi à vous connecter à votre serveur Ubuntu distant depuis votre machine locale. Vous pouvez le fermer en cliquant sur le bouton de sortie lorsque vous avez fini d’utiliser votre bureau graphique.

Test de la connexion RDP sur macOS

Pour tester la connexion à l’aide du client Connexion Bureau à distance sur macOS, lancez d’abord l’application Connexion Bureau à distance de Microsoft.

Appuyez sur Ajouter un PC, puis saisissez l’adresse IP publique de votre serveur distant dans la zone de texte modifiable:

Vous pouvez Ajouter un compte utilisateur lors de la configuration de la connexion:

Si vous n’ajoutez pas d’utilisateur lors de la configuration, on vous demandera vos identifiants de connexion utilisateur :

Appuyez sur Oui pour contourner la fenêtre de vérification d’identité :

Une fois connecté, vous pouvez accéder à votre bureau à distance Ubuntu. Vous pouvez le fermer en utilisant le bouton de sortie lorsque vous avez fini d’utiliser votre bureau graphique.

Test de la connexion RDP sous Linux

Vous aurez besoin d’un client RDP pour tester la connexion RDP sur une machine Linux locale. Tout d’abord, installez le client RDP remmina pour Ubuntu :

  1. sudo apt install remmina

Sélectionnez y si on vous demande de terminer l’installation. Cette commande installera Remmina, un client de bureau à distance open source sur votre système Ubuntu en utilisant apt. Pour d’autres distributions Linux, vous pouvez consulter la documentation Remmina pour l’installation.

Une fois installé, lancez l’application remmina sur votre machine Linux locale et saisissez l’adresse IP publique de votre serveur distant dans la zone prévue. Appuyez sur Entrée sur votre clavier pour vous connecter à votre bureau à distance.

Ensuite, saisissez le nom d’utilisateur de votre serveur distant (pour ce tutoriel, le nom d’utilisateur est sammy) et le mot de passe que vous avez créé pour l’utilisateur lors de la configuration initiale du serveur. Appuyez sur Ok.

Vous devrez peut-être saisir à nouveau le mot de passe de votre utilisateur pour déverrouiller le bureau à distance.

Une fois connecté, vous devriez pouvoir accéder à votre environnement de bureau Ubuntu.

En utilisant le protocole RDP, vous avez réussi à vous connecter à votre serveur Ubuntu distant depuis votre machine locale. Vous pouvez le fermer en utilisant le bouton de sortie lorsque vous avez terminé d’utiliser votre bureau graphique.

Après avoir confirmé que la connexion à distance fonctionne, vous pouvez utiliser cette séquence chaque fois que vous avez besoin d’utiliser l’interface graphique de votre serveur Linux distant.

Conclusion

Dans cet article, vous avez configuré xrdp pour vous connecter à un bureau graphique sur votre serveur Ubuntu distant via une connexion RDP depuis une machine locale.

Maintenant, vous pouvez essayer de configurer une connexion VNC pour votre serveur Linux avec Comment installer et configurer VNC sur Ubuntu 20.04. VNC est une autre option pour la connexion à distance à un bureau Linux.

Source:
https://www.digitalocean.com/community/tutorials/how-to-enable-remote-desktop-protocol-using-xrdp-on-ubuntu-22-04