Agent de livraison virtuel Linux 2112

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 le client X et le serveur X.

  • Il existe deux méthodes pour sécuriser l’autorisation de cette communication sécurisée :

  • Xhost. Par défaut, Xhost permet uniquement au client X local de communiquer avec le serveur X. Si vous choisissez d’autoriser un client X distant à accéder au serveur X, la commande Xhost doit être exécutée pour accorder l’autorisation sur la machine spécifique. Vous pouvez également utiliser xhost + pour permettre à n’importe quel client X de se connecter au serveur X.
  • Xauthority. Le fichier .Xauthority se trouve dans le répertoire personnel de chaque utilisateur. Il est utilisé pour stocker les informations d’identification sous forme de cookies utilisés par xauth pour l’authentification du serveur X. Lorsqu’une instance de serveur X (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 le client X se connecte à Xorg à distance, deux conditions préalables doivent être remplies :

  • Définir la variable d’environnement DISPLAY sur le serveur X distant.
  • Obtenir le fichier .Xauthority qui 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, transférez le fichier .Xauthority au client X manuellement ou en montant un répertoire personnel partagé :

  • Transférer manuellement le fichier .Xauthority au client X

    Après le lancement d’une session ICA®, le VDA Linux génère le fichier .Xauthority pour le client X et stocke le fichier dans le répertoire personnel de l’utilisateur connecté. Vous pouvez copier ce fichier .Xauthority sur la machine cliente X 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 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 XAUTHORITY n’est pas définie, le fichier ~/.Xauthority est utilisé par défaut.

  • Transférer le fichier .Xauthority au client X en montant un répertoire personnel partagé

    La méthode la plus pratique consiste à monter un répertoire personnel partagé pour l’utilisateur connecté. Lorsque le VDA Linux démarre une session ICA, le fichier .Xauthority est créé dans le répertoire personnel de l’utilisateur connecté. Si ce répertoire personnel est partagé avec le client X, l’utilisateur n’a pas besoin de transmettre manuellement ce fichier .Xauthority au client X. Une fois les variables d’environnement DISPLAY et XAUTHORITY correctement définies, l’interface graphique s’affiche automatiquement sur le bureau du serveur X.

Dépannage

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

  1. En tant qu’administrateur avec les 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 indique quel fichier .Xauthority est utilisé. Par exemple :

    /var/xdl/xauth/.Xauthority110
    <!--NeedCopy-->
    

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

    Xauth -f /var/xdl/xauth/.Xauthority110
    <!--NeedCopy-->
    
  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 du client X.

  3. 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 cliente X :

    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 pourrait bloquer la requête.

Configurer Xauthority