Cette page est considérée comme vétuste et ne contient plus d'informations utiles.
Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !



XRDP ou comment se connecter depuis un client RDP® sur un serveur Ubuntu

On peut être confronté à des machines windows® verrouillées, sur lesquelles on ne peut rien installer, et où seul le protocole RDP® est disponible. Par exemple des clients légers.

Si l'on souhaite se connecter depuis ces machines sur un serveur Ubuntu, une seule solution : installer XRDP sur ce dernier.

Xrdp est une couche s'installant sur le serveur. Elle fait office de serveur RDP® pour le client qui veut se connecter, et se comporte comme un client VNC pour le serveur ubuntu.

Entre les deux, se glisse un gestionnaire de session dénommé sesman, qui :

  • donne le choix, à la connexion, entre différents modules. Ceux-ci sont listés dans /etc/xrdp/xrdp.ini, on y trouve bien sûr VNC.
  • appelle PAM pour l'authentification.
  • fait en sorte que le néo client VNC, avatar du client RDP, se connecte à une session VNC fonctionnelle. Le plus souvent en la créant, à l'aide des paramètres choisis dans /etc/xrdp/sesman.ini et /etc/xrdp/startwm.sh.

Avoir un serveur VNC fonctionnel (avec par exemple vnc4server) et les droits administrateurs sur le serveur. Savoir installer un paquet, éditer un fichier et éventuellement contrôler la machine distante à l'aide d'un autre protocole, typiquement ssh.

Installez le paquet xrdp.

La version (utilisée lors des essais) de XRDP est la 0.4.1, elle est présente dans les dépôts.

Configuration de sesman

Ouvrez le fichier /etc/xrdp/sesman.ini.

Pour l'instant, rien ne fonctionne, car la section [Xvnc] ne contient que les quatre arguments :

param1=-bs     /* désactive le "backing store support" sur tous les écrans */
param2=-ac     /* interdit l'édition des listes de contrôle d'accès par le client */
param3=-nolisten
param4=tcp

Il faut compléter cette section, de la manière suivante:

param3=-fp                         /* ces quatre paramètres corrigent le bug #78282 du paquet vnc4server */
param4=/usr/share/fonts/X11/misc
param5=-extension
param6=XFIXES

Personnellement, j'y ai aussi ajouté :

param7=-depth            /* pour forcer la profondeur de couleur */
param8=16
param9=-localhost        /* pour contraindre la connexion via xrdp */

On peut aussi ajuster les autres paramètres à sa convenance (sections [Globals], [Security], etc. …). ATTENTION, certaines options sont ignorées. (Voir la man page de sesman.ini.)

Ouvrez le fichier /etc/xrdp/xrdp.ini.

Conserver simplement les sections [globals] et [xrdp1] que l'on renomme pour le fun :

[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1
 
[xrdp1]
name=legaub vous invite sur un serveur Ubuntu
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1

Redémarrer avec :

sudo /etc/init.d/xrdp restart

Vous pouvez désormais vous connecter à votre serveur en utilisant le protocole RDP®.

Une difficulté surgit si l'on veut passer, par exemple -DisconnectClients=0 ou -NerverShared=1. En effet, impossible de glisser le signe "=" nulle part.

Ouvrez le fichier /etc/xrdp/startwm.sh.

Ajouter les lignes suivantes :

vncconfig -set NeverShared=1
vncconfig -set DisconnectClients=0

Attention, l'utilisation de "vncconfig" fait que le nouveau paramètre ne sera pris en compte que lors du démarrage d'une nouvelle session.

Et si vous voulez désinstaller xrdp tapez: apt-get remove xrdp


Contributeurs principaux : legaub

  • xrdp.1382435270.txt.gz
  • Dernière modification: Le 22/10/2013, 11:47
  • par bcag2