Product Documentation

Configurer Xauthority

Feb 26, 2018

Les environnements qui utilisent le déport d'affichage X11 interactif (y compris xterm, gvim, etc.) sont pris en charge par le VDA Linux. Cette fonctionnalité fournit un mécanisme de sécurité nécessaire pour sécuriser les communications entre XClient et XServer.

Deux méthodes permettent de sécuriser l’autorisation pour cette communication sécurisée :

  • Xhost. Par défaut, Xhost permet uniquement au XClient localhost 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 vous pouvez utiliser xhost + pour autoriser n’importe quel XClient à se connecter à XServer.
  • Xauthority. Le fichier Xauthority se trouve dans le répertoire de base de chaque utilisateur, et il est utilisé pour stocker les informations d’identification dans des cookies utilisés par xauth pour l'authentification de XServer. Une fois qu'une instance XServer (Xorg) est lancée, le cookie est utilisé pour authentifier les connexions à cet affichage spécifique.

Fonctionnement

Lorsque Xorg démarre, un fichier Xauthority est transmis à Xorg. Le fichier Xauthority contient les éléments suivants :

  • Numéro d'affichage
  • Protocole de demande distante
  • Numéro de cookie

Vous pouvez accéder à ce fichier à l’aide de la commande xauth. Par exemple :

commande Copier

# xauth –f ~/.Xauthority

# > list

# > us01msip06:107  MIT-MAGIC-COOKIE-1  fb228d1b695729242616c5908f11624b

Si XClient se connecte à Xorg à distance, deux conditions doivent être préalablement remplies :

  • Définissez la variable d’environnement DISPLAY sur le XServer distant.
  • Obtenez le fichier Xauthority qui contient l’un des numéros de cookie dans Xorg.

Configurer Xauthority

Pour activer Xauthority sur le VDA Linux pour le déport d’affichage X11, vous devez créer les deux clés de registre suivantes :

commande Copier

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

Après avoir activé Xauthority, transmettez le fichier Xauthority à XClient manuellement, ou en montant un répertoire de base partagé :

  • Transmettre le fichier Xauthority à XClient manuellement

Après le lancement d’une session ICA, le VDA Linux génère le fichier Xauthority (le nom de fichier est .Xauthority) pour le XClient et stocke le fichier dans le répertoire de base de la session utilisateur. Vous pouvez copier ce fichier Xauthority sur la machine XClient distante, et définir les variables d'environnement DISPLAY et XAUTHORITY. DISPLAY est le numéro d’affichage stocké dans le fichier Xauthority et XAUTHORITY est le chemin d’accès à Xauthority. Pour un exemple, reportez-vous à la commande suivante :

commande Copier

set DISPLAY={Display number stored in the Xauthority file}

set XAUTHORITY={the file path of .Xauthority}

Remarque

Si la variable d'environnement XAUTHORITY n'est pas définie, le fichier ~/.Xauthority sera utilisé par défaut.

  • Transmettre le fichier Xauthority à XClient en montant un répertoire de base partagé
La façon la plus pratique consiste à monter un répertoire de base partagé pour la session utilisateur. Lorsque le VDA Linux démarre une session ICA, le fichier .Xauthority est créé dans le répertoire de base de la session utilisateur. Si ce répertoire de base est partagé avec le XClient, l'utilisateur n'a pas besoin de transmettre manuellement ce fichier Xauthority à XClient. Après avoir correctement défini les variables d'environnement DISPLAY et XAUTHORITY, l'interface utilisateur est affichée dans le bureau XServer automatiquement.

Résolution des problèmes

Si Xauthority ne fonctionne pas, suivez les étapes de dépannage ci-dessous :

1. En tant qu'administrateur avec privilège root, récupérez tous les cookies Xorg :

commande Copier

ps aux | grep -i xorg

Cette commande affiche le processus Xorg et les paramètres transmis à Xorg lors du démarrage. Un autre paramètre affiche le fichier Xauthority utilisé. Par exemple :

commande Copier

/var/xdl/xauth/.Xauthority110

Affichez les cookies à l’aide de la commande Xauth :

commande Copier

Xauth -f /var/xdl/xauth/.Xauthority110

2. Utilisez la commande Xauth pour afficher les cookies contenus dans ~/.Xauthority. Pour le même numéro d'affichage, les cookies affichés doivent être identiques dans les fichiers Xauthority de Xorg et de XClient.

3. Si les cookies sont identiques, vérifiez l’accessibilité du port d'affichage à distance avec 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 :

commande Copier

telnet 10.158.11.11 6160

Le numéro de port est la somme de 6000 + .

Si l’opération telnet échoue, il est possible que le pare-feu bloque la requête.