Product Documentation

Konfigurieren von Xauthority

Jul 06, 2017

Der Linux VDA unterstützt Umgebungen, in denen interaktives Remoting mit X11-Anzeigefunktionalität (einschließlich xterm, gvim, usw.) verwendet wird. Dieses Feature bietet einen Sicherheitsmechanismus für die sichere Kommunikation zwischen XClient und XServer.

Es gibt zwei Methoden zum Sicherstellen der Berechtigung für die sichere Kommunikation:

  • Xhost:Standardmäßig erlaubt Xhost nur die Kommunikation zwischen dem XClient auf Localhost und XServer. Wenn Sie den Zugriff eines Remote-XClient auf XServer zulassen, muss mit dem Xhost-Befehl die Berechtigung für die spezifische Maschine gewährt werden. Alternativ können Sie einem XClient mit xhost + die Verbindung mit XServer erlauben.
  • Xauthority: Die Xauthority-Datei ist im Homeverzeichnis von Benutzern und wird zum Speichern von Anmeldeinformationen in Cookies verwendet, die wiederum von xauth für die Authentifizierung von XServer verwendet werden. Wenn eine XServer-Instanz (Xorg) gestartet wird, werden Verbindungen mit dem Cookie bei der spezifischen Anzeige authentifiziert.

Funktionsweise

Wenn Xorg gestartet wird, wird eine Xauthority-Datei an Xorg übergeben. Diese Xauthority-Datei enthält folgende Elemente:

  • Anzeigenummer
  • Remoteanfrageprotokoll
  • Cookienummer

Sie können diese Datei mit dem Befehl xauth durchsuchen. Beispiel:

command Kopieren

# xauth –f ~/.Xauthority

# > list

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

Wenn XClient eine Remoteverbindung mit Xorg herstellt, müssen zwei Voraussetzungen erfüllt sein:

  • Die Umgebungsvariable DISPLAY muss auf den Remote-XServer festgelegt sein.
  • Rufen Sie die Xauthority-Datei ab, die eine der Cookienummern in Xorg enthält.

Konfigurieren von Xauthority

Um Xauthority im Linux VDA für X11-Remoteanzeige zu aktivieren, müssen Sie die zwei folgenden Registrierungsschlüssel erstellen:

command Kopieren

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

Übergeben Sie nach dem Aktivieren von Xauthority die Xauthority-Datei manuell oder über ein freigegebenes Homeverzeichnis an XClient:

  • Manuelle Übergabe der Xauthority-Datei an XClient

Nach dem Starten einer ICA-Sitzung generiert der Linux VDA die Xauthority-Datei (der Dateiname ist .Xauthority) für den XClient und speichert die Datei im Homeverzeichnis des angemeldeten Benutzers. Sie können die Xauthority-Datei auf die remote XClient-Maschine kopieren und die Umgebungsvariablen DISPLAY und XAUTHORITY festlegen.DISPLAY ist die in der Xauthority-Datei gespeicherte Anzeigenummer und XAUTHORITY ist der Dateipfad von Xauthority. Ein Beispiel ist der folgende Befehl:

command Kopieren

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

set XAUTHORITY={the file path of .Xauthority}

Hinweis

Wenn die Umgebungsvariable XAUTHORITY nicht festgelegt ist, wird standardmäßig die Datei ~/.Xauthority verwendet.

  • Übergabe der Xauthority-Datei über ein freigegebenes Homeverzeichnis an XClient
Eine bequeme Methode ist das Bereitstellen eines freigegebenen Homeverzeichnisses für den Benutzer, der sich anmeldet. Wenn der Linux VDA eine ICA-Sitzung startet, wird die Datei .Xauthority im Homeverzeichnis des angemeldeten Benutzers erstellt. Wenn dieses Homeverzeichnis für den XClient freigegeben wird, braucht der Benutzer die Xauthority-Datei nicht manuell an den XClient zu übertragen. Wenn die Umgebungsvariablen DISPLAY und XAUTHORITY richtig festgelegt sind, wird die GUI automatisch auf dem XServer-Desktop angezeigt.

Problembehandlung

Wenn Xauthority nicht funktioniert, folgen Sie den unten aufgeführten Anleitungen zur Problembehandlung:

1. Rufen Sie als Administrator mit Root-Privilegien alle Xorg-Cookies ab:

command Kopieren

ps aux | grep -i xorg

Mit diesem Befehl wird der Xorg-Prozess angezeigt sowie die Parameter, die beim Starten an Xorg übergeben wurden. Ein weiterer Parameter zeigt an, welche Xauthority-Datei verwendet wurde. Beispiel:

command Kopieren

/var/xdl/xauth/.Xauthority110

Zeigen Sie mit dem Befehl Xauth die Cookies an:

command Kopieren

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

2. Zeigen Sie mit dem Befehl Xauth die in ~/.Xauthority enthaltenen Cookies an.Für eine bestimmte Anzeigenummer müssen die angezeigten Cookies in den Xauthority-Dateien von Xorg und XClient dieselben sein.

3. Wenn die Cookies dieselben sind, überprüfen Sie den Zugriff auf den Remoteanzeigeport mit der IP-Adresse des Linux VDA (z. B. 10.158.11.11) und der Anzeigenummer des veröffentlichten Desktops (z. B. 160).

Führen Sie folgenden Befehl auf der XClient-Maschine aus:

command Kopieren

telnet 10.158.11.11 6160

Die Portnummer ist die Summe von 6000 + .

Wenn dieser Telnet-Vorgang fehlschlägt, wird die Anfrage möglicherweise von der Firewall blockiert.