Vous souhaitez accéder à votre serveur ou poste Debian 13 à distance, comme vous le feriez avec un bureau Windows via RDP ? C'est possible grâce à xRDP, un serveur open source qui implémente le protocole Microsoft RDP (Remote Desktop Protocol) sous Linux.
Dans ce tutoriel complet, nous allons voir étape par étape comment installer, configurer et sécuriser xRDP sur Debian 13 (Trixie), puis comment s'y connecter depuis Windows, macOS et Linux.
Qu'est-ce que xRDP ?
xRDP est un serveur RDP libre et open source pour les systèmes GNU/Linux. Il permet d'utiliser le client Bureau à distance natif de Windows (mstsc.exe) — ou tout autre client RDP — pour se connecter à un bureau Linux distant, sans avoir besoin d'installer de logiciel supplémentaire côté client.
Contrairement à VNC, xRDP utilise le protocole RDP (port 3389 par défaut), ce qui offre plusieurs avantages :
- Pas besoin d'installer un client spécifique — Windows a déjà mstsc.exe intégré
- Meilleure compression et performances réseau
- Support natif du copier-coller et du partage de fichiers
- Chiffrement TLS de la connexion
- Gestion multi-sessions (plusieurs utilisateurs simultanés)
Prérequis
Avant de commencer, assurez-vous de disposer de :
- Debian 13 (Trixie) installé et à jour
- Un environnement de bureau (XFCE, GNOME, KDE...) — xRDP a besoin d'un bureau graphique pour afficher quelque chose
- Un accès root ou sudo
- Une connexion réseau fonctionnelle
💡 Conseil NetworkIT : Pour les serveurs, nous recommandons XFCE comme environnement de bureau. Il est léger, rapide et consomme peu de ressources — idéal pour un accès à distance.
Étape 1 : Mettre à jour le système
Commencez toujours par mettre à jour votre système pour avoir les derniers paquets et correctifs de sécurité :
sudo apt update && sudo apt upgrade -y
Étape 2 : Installer un environnement de bureau (si nécessaire)
Si votre Debian 13 est une installation serveur minimale sans interface graphique, vous devez d'abord installer un bureau. Nous recommandons XFCE pour sa légèreté :
sudo apt install -y xfce4 xfce4-goodies
Pour ceux qui préfèrent GNOME (plus lourd mais plus complet) :
sudo apt install -y gnome-core
Ou KDE Plasma :
sudo apt install -y kde-plasma-desktop
Étape 3 : Installer xRDP
xRDP est disponible directement dans les dépôts officiels de Debian 13. L'installation est simple :
sudo apt install -y xrdp
Cette commande installe xRDP et ses dépendances, dont xorgxrdp qui permet d'utiliser Xorg comme backend graphique (meilleure performance qu'Xvnc).
Vérifiez que le service xRDP est bien démarré et activé au boot :
sudo systemctl status xrdp
Vous devriez voir active (running). Si ce n'est pas le cas :
sudo systemctl enable xrdp
sudo systemctl start xrdp
Étape 4 : Configurer xRDP pour votre environnement de bureau
Par défaut, xRDP peut ne pas lancer le bon bureau. Il faut créer ou modifier le fichier ~/.xsession pour chaque utilisateur qui se connectera en RDP.
Pour XFCE :
echo "xfce4-session" > ~/.xsession
chmod +x ~/.xsession
Pour GNOME :
echo "gnome-session" > ~/.xsession
chmod +x ~/.xsession
Pour KDE Plasma :
echo "startplasma-x11" > ~/.xsession
chmod +x ~/.xsession
Ensuite, redémarrez le service xRDP pour prendre en compte les changements :
sudo systemctl restart xrdp
Étape 5 : Ajouter l'utilisateur au groupe ssl-cert
xRDP a besoin d'accéder au certificat SSL pour chiffrer les connexions. Ajoutez l'utilisateur xrdp au groupe ssl-cert :
sudo adduser xrdp ssl-cert
Puis redémarrez le service :
sudo systemctl restart xrdp
Étape 6 : Configurer le pare-feu
Si vous utilisez UFW (le pare-feu par défaut de Debian), ouvrez le port 3389 :
sudo ufw allow 3389/tcp
sudo ufw reload
Si vous utilisez iptables directement :
sudo iptables -A INPUT -p tcp --dport 3389 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4
🔒 Sécurité : En production, ne laissez pas le port 3389 ouvert à tout Internet. Limitez l'accès par IP source ou utilisez un VPN. Nous verrons les bonnes pratiques de sécurisation plus bas.
Étape 7 : Résoudre le problème d'écran noir
Un problème fréquent avec xRDP : si vous êtes déjà connecté localement avec le même utilisateur, la session RDP peut afficher un écran noir. Pour résoudre ce problème :
sudo nano /etc/xrdp/startwm.sh
Ajoutez ces lignes avant la ligne test -x /etc/X11/Xsession :
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
Le fichier devrait ressembler à ceci (extrait) :
#!/bin/sh
# xrdp X session start script
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession
Sauvegardez et redémarrez xRDP :
sudo systemctl restart xrdp
Se connecter depuis Windows
C'est la connexion la plus simple puisque Windows intègre nativement un client RDP :
- Appuyez sur
Win + Rpour ouvrir la boîte Exécuter - Tapez
mstscpuis Entrée - Dans le champ "Ordinateur", entrez l'adresse IP de votre serveur Debian (ex :
192.168.1.100) - Cliquez sur "Connexion"
- Acceptez le certificat (si demandé)
- Sur l'écran de login xRDP, entrez votre nom d'utilisateur et mot de passe Linux
- Cliquez sur OK
Vous devriez maintenant voir le bureau de votre Debian 13 !
Se connecter depuis macOS
Sur macOS, téléchargez l'application gratuite Microsoft Remote Desktop depuis le Mac App Store, puis :
- Ouvrez Microsoft Remote Desktop
- Cliquez sur "Add PC" (ou le bouton +)
- Dans "PC name", entrez l'adresse IP de votre Debian
- Cliquez sur "Add"
- Double-cliquez sur la connexion créée
- Acceptez le certificat, puis entrez vos identifiants Linux
Se connecter depuis Linux
Depuis un autre poste Linux, vous pouvez utiliser Remmina (pré-installé sur Ubuntu) ou FreeRDP :
Avec Remmina :
- Ouvrez Remmina
- Sélectionnez le protocole RDP dans la barre de connexion
- Entrez l'adresse IP et cliquez sur Entrée
- Acceptez le certificat et connectez-vous
Avec FreeRDP (en ligne de commande) :
xfreerdp /v:192.168.1.100 /u:votre_utilisateur /p:votre_mot_de_passe /f
Le paramètre /f active le mode plein écran. Pour quitter le plein écran : Ctrl + Alt + Entrée.
Sécuriser votre installation xRDP
Exposer un accès bureau à distance sans protection est un risque de sécurité majeur. Voici les bonnes pratiques recommandées par NetworkIT :
1. Utiliser un certificat TLS personnalisé
Par défaut, xRDP génère un certificat auto-signé. Pour la production, utilisez un vrai certificat :
sudo nano /etc/xrdp/xrdp.ini
Modifiez les lignes :
certificate=/chemin/vers/votre/certificat.pem
key_file=/chemin/vers/votre/cle-privee.pem
2. Changer le port par défaut
Changez le port 3389 pour réduire les scans automatisés :
sudo nano /etc/xrdp/xrdp.ini
Modifiez la ligne port=3389 vers un port personnalisé (ex : port=3390). N'oubliez pas d'adapter le pare-feu.
3. Limiter les accès par IP
# Avec UFW - autoriser seulement le réseau local
sudo ufw allow from 192.168.1.0/24 to any port 3389 proto tcp
# Avec iptables
sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 3389 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 3389 -j DROP
4. Utiliser fail2ban
Installez fail2ban pour bloquer les tentatives de brute-force :
sudo apt install -y fail2ban
Créez un filtre pour xRDP :
sudo nano /etc/fail2ban/filter.d/xrdp.conf
Ajoutez :
[Definition]
failregex = .*xrdp-sesman.*: login failed for user .* from ip <HOST>
ignoreregex =
Puis activez la jail :
sudo nano /etc/fail2ban/jail.local
[xrdp]
enabled = true
filter = xrdp
port = 3389
logpath = /var/log/xrdp-sesman.log
maxretry = 3
bantime = 3600
sudo systemctl restart fail2ban
5. Tunnel SSH (recommandé)
La méthode la plus sécurisée : ne pas exposer le port 3389, et passer par un tunnel SSH :
# Depuis le poste client
ssh -L 3389:localhost:3389 utilisateur@ip_du_serveur
Puis connectez-vous en RDP à localhost au lieu de l'IP du serveur. Tout le trafic sera chiffré via SSH.
Dépannage courant
Écran noir après connexion
Vérifiez que les variables DBUS_SESSION_BUS_ADDRESS et XDG_RUNTIME_DIR sont bien unset dans /etc/xrdp/startwm.sh (voir Étape 7). Vérifiez aussi que vous n'êtes pas connecté localement avec le même utilisateur.
Connexion refusée
Vérifiez que xRDP tourne (systemctl status xrdp), que le port 3389 est bien ouvert dans le pare-feu, et que le serveur est accessible réseau depuis le client.
Clavier AZERTY qui passe en QWERTY
Modifiez la disposition clavier dans xRDP :
sudo nano /etc/xrdp/xrdp_keyboard.ini
Ou forcez le layout en ajoutant dans ~/.xsession :
setxkbmap fr
xfce4-session
Session lente ou saccadée
Réduisez la profondeur de couleur dans les paramètres du client RDP (16 bits au lieu de 32). Désactivez les effets visuels du bureau. Avec XFCE, allez dans Paramètres → Peaufinage des fenêtres → Compositeur → Décochez "Activer le compositeur d'affichage".
Résumé des commandes
Voici toutes les commandes essentielles regroupées :
# Mise à jour système
sudo apt update && sudo apt upgrade -y
# Installation XFCE + xRDP
sudo apt install -y xfce4 xfce4-goodies xrdp
# Configuration session XFCE
echo "xfce4-session" > ~/.xsession
chmod +x ~/.xsession
# Permissions SSL
sudo adduser xrdp ssl-cert
# Pare-feu
sudo ufw allow 3389/tcp
# Fix écran noir — éditer /etc/xrdp/startwm.sh
# Ajouter avant "test -x /etc/X11/Xsession" :
# unset DBUS_SESSION_BUS_ADDRESS
# unset XDG_RUNTIME_DIR
# Redémarrage
sudo systemctl restart xrdp
# Vérification
sudo systemctl status xrdp
Conclusion
Grâce à xRDP, vous pouvez transformer votre serveur Debian 13 en une machine accessible à distance via le protocole RDP standard, sans avoir besoin de logiciel tiers côté client. C'est une solution idéale pour les administrateurs systèmes, les équipes IT et tous ceux qui ont besoin d'un accès graphique à leurs serveurs Linux.
Chez NetworkIT, nous utilisons quotidiennement xRDP pour la gestion de nos infrastructures clients. Si vous avez besoin d'aide pour déployer et sécuriser l'accès à distance sur vos serveurs, contactez notre équipe — nous sommes experts en infogérance et infrastructure IT à Paris.