MiniTipp: Probleme mit X11 Forwarding und openssh
Inhalt
1. Das Problem
Wir müssen ein X11-Programm auf einer LPAR starten, z.B. zur Installation von Oracle oder Websphere. In der Konfigurationsdatei /etc/ssh/sshd_config wurde X11-Forwarding selbstverständlich eingeschaltet:
X11Forwarding yes
Dennoch stellen wir nach einer Anmeldung fest, dass sich keine X-Programme starten lassen:
aix# xclock Error: Can't open display:
2. Die Untersuchung
Um das Problem einzukreisen, melden wir uns mit ssh im Debug-Mode an unserer LPAR an:
client# ssh -v aix : : debug1: No xauth program. Warning: No xauth data; using fake authentication data for X11 forwarding. debug1: Requesting X11 forwarding with authentication spoofing. debug1: Remote: No xauth program; cannot forward with spoofing. : :
Es sieht so aus, dass es auf unserer LPAR das Programm xauth nicht gibt. Doch ist das wirklich so? Sehen wir einmal nach:
aix# lslpp -L openssh.base\* Fileset Level State Type Description (Uninstaller) ---------------------------------------------------------------------------- openssh.base.client 4.3.0.5300 C F Open Secure Shell Commands openssh.base.server 4.3.0.5300 C F Open Secure Shell Server aix# lslpp -w \*xauth File Fileset Type ---------------------------------------------------------------------------- /usr/lpp/X11/bin/xauth X11.apps.config FileIn der Paketdatenbank ist das Programm aber gelistet, auch Openssh ist installiert. Wieso wird also bei der Anmeldung xauth nicht gefunden?
3. Die Lösung
Das Problem ist nur der Pfad zum Program xauth. Dieses liegt auf dem Server unter /usr/bin/X11/xauth
aix# which xauth /usr/bin/X11/xauth
Der abweichende Pfad zu xauth gegenüber den Informationen aus der Paketdatenbank sollte uns nicht irritieren, dies hat das Post-Installscript zu verantworten. Allerdings liegt /usr/bin/X11 möglicherweise nicht im Standardpfad und das sshd-Binary sucht xauth ohnehin ganz woanders:
aix# strings /usr/sbin/sshd|grep xauth No xauth program; cannot forward with spoofing. maxauthtries xauthlocation /usr/contrib/bin/xauth
Wir brauchen also lediglich in der Datei /etc/ssh/sshd_config einen Eintrag
XAuthLocation /usr/bin/X11/xauth
hinzuzufügen. Der sshd muss aber noch durchgestartet werden:
aix# stopsrc -s sshd 0513-044 The sshd Subsystem was requested to stop. aix# startsrc -s sshd 0513-059 The sshd Subsystem has been started. Subsystem PID is 28476.
Bestehende Verbindungen werden durch den Neustart nicht beendet.