Configurer Xauthority
Le VDA Linux prend en charge les environnements qui utilisent la fonctionnalité d’affichage X11 (y compris xterm et gvim) pour la mise à distance interactive. Cette fonctionnalité fournit un mécanisme de sécurité nécessaire pour assurer une communication sécurisée entre XClient et XServer.
-
Il existe deux méthodes pour sécuriser l’autorisation de cette communication sécurisée :
- Xhost. Par défaut, Xhost permet uniquement au XClient de l’hôte local de communiquer avec XServer. Si vous choisissez d’autoriser un XClient distant à accéder à XServer, la commande Xhost doit être exécutée pour accorder l’autorisation sur la machine spécifique. Ou bien, vous pouvez utiliser xhost + pour permettre à n’importe quel XClient de se connecter à XServer.
-
Xauthority. Le fichier
.Xauthorityse trouve dans le répertoire personnel de chaque utilisateur. Il est utilisé pour stocker les informations d’identification dans les cookies utilisés par xauth pour l’authentification de XServer. Lorsqu’une instance XServer (Xorg) est démarrée, le cookie est utilisé pour authentifier les connexions à cet affichage spécifique. -
Fonctionnement
Lorsque Xorg démarre, un fichier .Xauthority est transmis à Xorg. Ce fichier .Xauthority contient les éléments suivants :
- Numéro d’affichage
- Protocole de requête à distance
-
Numéro de cookie
- Vous pouvez parcourir ce fichier à l’aide de la commande
xauth. Par exemple :
# xauth -f ~/.Xauthority
# > list
# > us01msip06:107 MIT-MAGIC-COOKIE-1 fb228d1b695729242616c5908f11624b
<!--NeedCopy-->
Si XClient se connecte à Xorg à distance, deux conditions préalables doivent être remplies :
- Définissez la variable d’environnement DISPLAY sur le XServer distant.
- Obtenez le fichier
.Xauthorityqui contient l’un des numéros de cookie dans Xorg.
Configurer Xauthority
Pour activer Xauthority sur le VDA Linux pour l’affichage X11 distant, vous devez créer les deux clés de registre suivantes :
sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Xorg" -t "REG_DWORD" -v "XauthEnabled" -d "0x00000001" --force
sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Xorg" -t "REG_DWORD" -v "ListenTCP" -d "0x00000001" --force
<!--NeedCopy-->
Après avoir activé Xauthority, transmettez le fichier .Xauthority au XClient manuellement ou en montant un répertoire personnel partagé :
-
Transmettre le fichier
.Xauthorityau XClient manuellementAprès le lancement d’une session ICA®, le VDA Linux génère le fichier
.Xauthoritypour le XClient et stocke le fichier dans le répertoire personnel de l’utilisateur de connexion. Vous pouvez copier ce fichier.Xauthoritysur la machine XClient distante et définir les variables d’environnementDISPLAYetXAUTHORITY.DISPLAYest le numéro d’affichage stocké dans le fichier.XauthorityetXAUTHORITYest le chemin d’accès au fichier Xauthority. Pour un exemple, consultez la commande suivante :export DISPLAY={Display number stored in the Xauthority file} export XAUTHORITY={the file path of .Xauthority} <!--NeedCopy-->Remarque :
Si la variable d’environnement
XAUTHORITYn’est pas définie, le fichier~/.Xauthorityest utilisé par défaut. -
Transmettre le fichier
.Xauthorityau XClient en montant un répertoire personnel partagéLe moyen le plus pratique consiste à monter un répertoire personnel partagé pour l’utilisateur de connexion. Lorsque le VDA Linux démarre une session ICA, le fichier
.Xauthorityest créé dans le répertoire personnel de l’utilisateur de connexion. Si ce répertoire personnel est partagé avec le XClient, l’utilisateur n’a pas besoin de transmettre ce fichier.Xauthorityau XClient manuellement. Une fois les variables d’environnementDISPLAYetXAUTHORITYcorrectement définies, l’interface graphique s’affiche automatiquement sur le bureau XServer.
Dépannage
Si Xauthority ne fonctionne pas, suivez les étapes de dépannage :
-
En tant qu’administrateur avec des privilèges root, récupérez tous les cookies Xorg :
ps aux | grep -i xorg <!--NeedCopy-->Cette commande affiche le processus Xorg et les paramètres transmis à Xorg lors du démarrage. Un autre paramètre affiche le fichier
.Xauthorityutilisé. Par exemple :/var/xdl/xauth/.Xauthority110 <!--NeedCopy-->Affichez les cookies à l’aide de la commande Xauth :
Xauth -f /var/xdl/xauth/.Xauthority110 <!--NeedCopy--> -
Utilisez la commande
Xauthpour afficher les cookies contenus dans~/.Xauthority. Pour le même numéro d’affichage, les cookies affichés doivent être les mêmes dans les fichiers.Xauthorityde Xorg et XClient. -
Si les cookies sont identiques, vérifiez l’accessibilité du port d’affichage distant en utilisant l’adresse IP du VDA Linux (par exemple, 10.158.11.11) et le numéro d’affichage du bureau publié (par exemple, 160).
Exécutez la commande suivante sur la machine XClient :
telnet 10.158.11.11 6160 <!--NeedCopy-->Le numéro de port est la somme de 6000 + <numéro d’affichage>.
Si cette opération telnet échoue, le pare-feu peut bloquer la requête.