Comment activer le protocole de bureau à distance à l'aide de xrdp sur Ubuntu 22.04

De Get Docs
Aller à :navigation, rechercher

Introduction

Remote Desktop Protocol (RDP) est un protocole réseau développé par Microsoft qui permet aux utilisateurs d'accéder à distance et d'interagir 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 à distance Windows, mais vous pouvez également accéder et interagir avec l'interface utilisateur graphique d'un serveur Linux distant en utilisant un outil comme xrdp, une implémentation open source du serveur RDP.

Dans ce didacticiel, vous allez installer et configurer un serveur RDP à l'aide de xrdp sur un serveur Ubuntu 22.04 et y accéder à l'aide d'un client RDP à partir de votre ordinateur local. Vous comprendrez comment établir un accès à un serveur Linux distant en configurant et en utilisant une connexion RDP.

Conditions préalables

Pour terminer ce tutoriel, vous aurez besoin de :

  • Un serveur Ubuntu 22.04 avec un utilisateur non root avec sudo privilèges, 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 Connexion Bureau à distance par défaut.
    • Sur macOS, vous pouvez utiliser l'application Microsoft Remote Desktop.
    • Sous Linux, vous pouvez utiliser FreeRDP ou Remmina.

Étape 1 - Installation d'un environnement de bureau sur Ubuntu

Dans cette étape, vous allez installer et configurer un environnement de bureau sur votre serveur Ubuntu. Par défaut, un serveur Ubuntu est livré uniquement avec 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 SSH et mettez à jour la liste des packages disponibles à l'aide de la commande suivante :

sudo apt update

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

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 sélectionner n'importe quelle option dans la liste des gestionnaires d'affichage disponibles, mais ce didacticiel 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 autorise les connexions RDP pour les serveurs basés sur Linux. Dans cette étape, vous allez installer xrdp sur votre serveur Ubuntu.

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

sudo apt install xrdp -y

Après avoir installé xrdp, vérifiez l'état de xrdp à l'aide de systemctl:

sudo systemctl status xrdp

Cette commande affichera l'état comme active (running):

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 le statut de xrdp n'est pas running, vous devrez peut-être démarrer le service manuellement avec cette commande :

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 running Etat.

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

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

Dans cette étape, vous passerez en revue la configuration par défaut de xrdp, qui est stockée sous /etc/xrdp/xrdp.ini, et ajoutez 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 au serveur xrdp. Le fichier de configuration peut être modifié et personnalisé pour répondre aux exigences de connexion RDP.

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

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 session définit plusieurs types de session 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 entre crochets, comme [Xorg] et [XVnc]. Il n'y a pas [Sessions types] en-tête dans le dossier ; au lieu de cela, il est écrit sous forme de commentaire.

Dans le fichier de configuration, accédez au Session types section. Vous trouverez plusieurs types de session 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, le username et password les paramètres sont réglés sur ask, ce qui signifie que l'utilisateur sera invité à entrer son nom d'utilisateur et son mot de passe pour se connecter via RDP. Des paramètres, tels que name, username, et password, peut être modifié si nécessaire. Pour la connexion RDP initiale au serveur, la configuration par défaut suffira.

Enregistrez et fermez le fichier lorsque vous avez terminé.

Déplacez-vous maintenant vers le répertoire personnel de votre utilisateur si vous n'y êtes pas déjà :

cd ~

Ensuite, vous allez créer un .xsession déposer sous /home/sammy et ajouter le xfce4-session en tant que gestionnaire de session à utiliser lors de la connexion :

echo "xfce4-session" | tee .xsession

tee écrit la chaîne en écho "xfce4-session" au dossier .xsession. La configuration ci-dessus garantit que xfce4-session est utilisé comme gestionnaire de session lors d'une demande de connexion graphique. Suite à l'installationxfce comme environnement de bureau, xfce4-session sert de gestionnaire de session. Si vous n'incluez pas ces informations dans le .xsession fichier, aucun gestionnaire de session n'est choisi et la session RDP ne parviendra pas à se connecter à l'affichage graphique.

Redémarrez le serveur xrdp :

sudo systemctl restart xrdp

Ensuite, vous configurerez votre pare-feu pour autoriser les connexions à distance à partir de votre adresse IP publique sur le port 3389. Une connexion RDP sert sur 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 :

curl ifconfig.me

Sous Windows, utilisez l'invite de commande Windows pour exécuter cette commande.

curl fait une demande sur ifconfig.me qui renvoie votre IP publique en sortie :

Output...
your_local_ip

Ensuite, autorisez l'accès au port RDP 3389 sur votre serveur distant, en remplaçant your_local_ip avec la sortie de la dernière commande :

sudo ufw allow from your_local_ip/32 to any port 3389

Vérifiez l'état de votre UFW pare-feu:

sudo ufw status

La sortie devrait ressembler à ce qui suit :

OutputStatus: 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 de votre 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 à partir de votre ordinateur local. Les sections ci-dessous incluent des actions pour tester la connexion sur des machines Windows, macOS et Linux.

Test de la connexion RDP sous Windows

Pour tester la connexion à l'aide du client Connexion Bureau à distance sous Windows, lancez d'abord l'application Connexion Bureau à distance.

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

Appuyez sur le bouton Connecter. Si vous recevez une alerte indiquant que le Remote Desktop can't connect to the remote computer, 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é :

Saisissez ensuite 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 Ubuntu Desktop :

En utilisant RDP, vous vous êtes connecté avec succès à votre serveur Ubuntu distant à partir de votre ordinateur local. Vous pouvez le fermer avec 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 Microsoft.

Appuyez sur Ajouter un PC, puis saisissez l'adresse IP publique de votre serveur distant dans la case à remplir :

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

Si vous n'ajoutez pas d'utilisateur lors de la configuration, vous serez invité à fournir vos identifiants de connexion :

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

Une fois connecté, vous pouvez accéder à votre bureau distant Ubuntu. Vous pouvez le fermer avec 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 remmina Client RDP pour Ubuntu :

sudo apt install remmina

Sélectionner y si vous êtes invité à terminer l'installation. Cette commande installera Remmina, un client de bureau à distance open source sur votre système Ubuntu en utilisant apt. Pour les autres distributions Linux, vous pouvez consulter la documentation Remmina pour l'installation.

Une fois installé, lancez le remmina sur votre machine Linux locale et entrez l'adresse IP publique de votre serveur distant dans la case à remplir. Appuyez sur Entrée sur votre clavier pour vous connecter à votre bureau distant.

Ensuite, entrez 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 votre mot de passe utilisateur pour déverrouiller le poste de travail distant.

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

En utilisant RDP, vous vous êtes connecté avec succès à votre serveur Ubuntu distant à partir de votre ordinateur local. Vous pouvez le fermer avec le bouton de sortie lorsque vous avez fini d'utiliser votre bureau graphique.

Une fois que vous vous êtes assuré 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 pour votre serveur Ubuntu distant via une connexion RDP à partir d'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.