Installer et configurer xrdp pour utiliser le Bureau à distance avec Ubuntu

S’applique à : ✔️ Machines virtuelles Linux ✔️ Groupes identiques flexibles

Si vous découvrez Linux, ou si vous souhaitez des scénarios de dépannage rapides, l’utilisation du Bureau à distance peut se révéler plus facile que l’accès Secure Shell (SSH). Cet article explique comment installer et configurer un environnement de bureau (xfce) et le Bureau à distance (xrdp) pour votre machine virtuelle Linux exécutant Ubuntu.

L’article a été écrit et testé à l’aide d’une machine virtuelle Ubuntu 18.04.

Notes

L’utilisation du Bureau à distance sur Internet introduit un « décalage » notable (latence d’entrée) par rapport à l’utilisation du Bureau local. Cette latence peut être influencée par plusieurs facteurs, notamment le débit de la connexion Internet locale et la distance par rapport au centre de données qui héberge la machine virtuelle. Ce décalage ne reflète généralement pas les performances de la machine virtuelle elle-même.

Conditions préalables requises

Cet article nécessite que vous disposiez d’une machine virtuelle Ubuntu 18.04 LTS ou Ubuntu 20.04 LTS dans Azure. Si vous avez besoin créer une machine virtuelle, utilisez l’une des méthodes suivantes :

Installation d’un environnement de bureau sur votre machine virtuelle Linux

La plupart des machines virtuelles Linux dans Azure n’ont pas d’environnement de bureau installé par défaut. Les machines virtuelles Linux sont généralement gérées à l’aide de connexions SSH plutôt que d’un environnement de bureau. Il existe toutefois plusieurs environnements de bureau que vous pouvez choisir d’installer. Selon l’environnement de bureau que vous choisissez, ce dernier consomme jusqu’à 2 Go d’espace disque et nécessite jusqu’à 10 minutes pour installer et configurer tous les packages requis.

L’exemple suivant installe l’environnement de bureau léger xfce4 sur une machine virtuelle Ubuntu. Les commandes pour les autres distributions varient légèrement (utilisez yum pour effectuer une installation sur Red Hat Enterprise Linux et configurez les règles selinux appropriées, ou utilisez zypper pour une installation sur SUSE, par exemple).

Tout d’abord, connectez-vous avec SSH à votre machine virtuelle. L’exemple suivant se connecte à la machine virtuelle nommée myvm.westus.cloudapp.azure.com avec le nom d’utilisateur azureuser. Utilisez vos propres valeurs :

ssh azureuser@myvm.westus.cloudapp.azure.com

Si vous utilisez Windows et souhaitez plus d’informations sur l’utilisation de SSH, consultez l’article Comment utiliser des clés SSH avec Windows sur Azure.

Ensuite, installez xfce en utilisant apt :

sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install xfce4
sudo apt install xfce4-session

Installation et configuration d’un serveur de bureau à distance

Maintenant que vous avez installé un environnement de bureau, configurez un service de Bureau à distance pour écouter les connexions d’accès à distance entrantes. xrdp est un serveur RDP (Remote Desktop Protocol) open source qui est disponible sur la plupart des distributions Linux et fonctionne bien avec xfce. Installez xrdp sur votre machine virtuelle Ubuntu comme suit :

sudo apt-get -y install xrdp
sudo systemctl enable xrdp

Sur Ubuntu 20, vous devez accorder l’accès au certificat à un utilisateur xrdp :

sudo adduser xrdp ssl-cert

Indiquez à xrdp quel environnement de bureau utiliser lorsque vous démarrez votre session. Configurez xrdp pour utiliser xfce en tant qu’environnement de bureau comme suit :

echo xfce4-session >~/.xsession

Redémarrez le service xrdp pour appliquer les modifications comme suit :

sudo service xrdp restart

Définition d’un mot de passe de compte d’utilisateur

Si vous avez créé un mot de passe pour votre compte d’utilisateur lorsque vous avez créé votre machine virtuelle, ignorez cette étape. Si vous utilisez uniquement l’authentification par clé SSH et que vous n’avez pas de mot de passe défini pour le compte local, spécifiez un mot de passe avant d’utiliser xrdp pour vous connecter à votre machine virtuelle. xrdp ne peut pas accepter de clés SSH pour l’authentification. L’exemple suivant spécifie un mot de passe pour le compte d’utilisateur azureuser :

sudo passwd azureuser

Notes

La spécification d’un mot de passe ne met pas à jour votre configuration SSHD pour autoriser les connexions par mot de passe si ce n’est pas le cas actuellement. Du point de vue de la sécurité, vous souhaiterez peut-être vous connecter à votre machine virtuelle avec un tunnel SSH à l’aide de l’authentification par clé, puis vous connecter à xrdp. Dans ce cas, ignorez l’étape suivante sur la création d’une règle de groupe de sécurité réseau pour autoriser le trafic du bureau à distance.

Création d’une règle de groupe de sécurité réseau pour le trafic du Bureau à distance

Pour autoriser le trafic du Bureau à distance à atteindre votre machine virtuelle Linux, une règle de groupe de sécurité réseau doit être créée pour permettre au TCP sur le port 3389 d’atteindre votre machine virtuelle. Pour plus d’informations sur les règles de groupe de sécurité réseau, consultez Présentation du groupe de sécurité réseau Vous pouvez également utiliser le portail Azure pour créer une règle de groupe de sécurité réseau.

L’exemple suivant permet de créer une règle de groupe de sécurité réseau avec az vm open-port sur le port 3389. À partir d’Azure CLI, et non de la session SSH sur votre machine virtuelle, ouvrez la règle de groupe de sécurité réseau suivante :

az vm open-port --resource-group myResourceGroup --name myVM --port 3389

Connexion de votre machine virtuelle Linux à un client Bureau à distance

Ouvrez votre client Bureau à distance local et connectez-vous à l’adresse IP ou au nom DNS de votre machine virtuelle Linux.

Capture d'écran du client Bureau à distance.

Entrez le nom d’utilisateur et le mot de passe du compte d’utilisateur sur votre machine virtuelle comme suit :

Capture de l'écran de connexion xrdp.

Une fois l’authentification effectuée, l’environnement de bureau xfce se charge et ressemble à l’exemple suivant :

Environnement de bureau xfce via xrdp

Si votre client RDP local utilise l’authentification au niveau du réseau, vous devrez peut-être désactiver ce paramètre de connexion. XRDP ne prend pas en charge l’authentification au niveau du réseau. Vous pouvez également consulter les solutions RDP alternatives qui prennent en charge l’authentification au niveau du réseau, telles que FreeRDP.

Dépanner

Si vous ne pouvez pas vous connecter à votre machine virtuelle Linux à l’aide d’un client Bureau à distance, utilisez netstat sur votre machine virtuelle Linux pour vérifier que votre machine virtuelle écoute les connexions RDP comme suit :

sudo netstat -plnt | grep rdp

L’exemple suivant montre la machine virtuelle à l’écoute du port TCP 3389 comme prévu :

tcp     0     0      127.0.0.1:3350     0.0.0.0:*     LISTEN     53192/xrdp-sesman
tcp     0     0      0.0.0.0:3389       0.0.0.0:*     LISTEN     53188/xrdp

Si le service xrdp-sesman n’écoute pas, sur une machine virtuelle Ubuntu, redémarrez le service comme suit :

sudo service xrdp restart

Examinez les journaux d’activité dans /var/log sur votre machine virtuelle Ubuntu pour savoir pourquoi le service ne répond pas. Vous pouvez également surveiller le journal système lors d’une tentative de connexion au Bureau à distance pour afficher les erreurs :

tail -f /var/log/syslog

Les autres distributions de Linux telles que Red Hat Enterprise Linux et SUSE peuvent avoir différentes façons de redémarrer les services et d’autres emplacements de fichiers journaux pour la vérification.

Si vous ne recevez pas de réponse dans votre client Bureau à distance et que vous ne voyez aucun événement dans le journal système, cela indique que le trafic du Bureau à distance ne peut pas joindre la machine virtuelle. Passez en revue vos règles de groupe de sécurité réseau pour vous assurer que vous disposez d’une règle autorisant TCP sur le port 3389. Pour plus d’informations, consultez Résoudre les problèmes de connectivité des applications sur une machine virtuelle Linux Azure.

Étapes suivantes

Pour plus d’informations sur la création et l’utilisation de clés SSH avec les machines virtuelles Linux, consultez Create SSH keys for Linux VMs in Azure (Création de clés SSH pour les machines virtuelles Linux dans Azure).

Pour plus d’informations sur l’utilisation de SSH avec Windows, consultez la page Utilisation de clés SSH avec Windows sur Azure.