Display-Umleitung mittels SSH

Post Reply
Message
Author
Ratsuchender

Display-Umleitung mittels SSH

#1 Post by Ratsuchender »

Rechner A: SuSE-9.0, 192.168.0.1,
OpenSSH_3.7.1p2, SSH protocols 1.5/2.0, OpenSSL 0.9.7b 10 Apr 2003

Rechner B: Debian 3.1, 192.168.0.2,
OpenSSH_3.8.1p1 Debian-8.sarge.4, OpenSSL 0.9.7e 25 Oct 2004

Rechner C: Debian 3.1, 192.168.0.3, SSH-Version
OpenSSH_3.8.1p1 Debian-8.sarge.4, OpenSSL 0.9.7e 25 Oct 2004

Alle Rechner mit IP, FQDN und Hostnamen in allen /etc/hosts vorhanden.
hosts.allow und hosts.deny sind alle leer.
Keine aktivierten Firewalls.
SSH-Protokoll 2, sshd_config und ssh_config auf allen Rechnern gleich, X11-Forwarding ist auf allen Rechnern aktiviert.
SSH-authorized_key-Dateien auf allen Rechnern mit den Pub-Keys der jeweils anderen Rechner angelegt.

Alle Rechner sind per Ethernet-Kabel über Switch verbunden, Ping und SSH von jedem Rechner zu jedem anderen Rechner funktioniert.

Ich möchte nun auf Rechner C ein Programm starten, dessen grafische Ausgabe auf Rechner B angezeigt werden soll.
RechnerB: ssh -X user1@RechnerC
RechnerC: xterm
RechnerC bringt die Fehlermeldung:
xterm Xt error: Can't open Display:

Das Ganze von RechnerB zu RechnerA funktioniert problemlos.
RechnerB: ssh -X user1@RechnerA
RechnerA: xterm
xterm von RechnerA wird auf RechnerB angezeigtt. So soll es sein.

Von A zu C funktioniert es wieder nicht:
RechnerA: ssh -X user1@RechnerC
RechnerC: xterm
Hier bringt C ebenfalls die "Can'open Display"-Meldung.

Testweise habe ich dieses Vorgehen ausprobiert:
RechnerA: xhost + ; ssh user1@RechnerC
RechnerC: export DISPLAY=192.168.0.1:0 ; xterm
Das funktioniert.

Nicht aber das Ganze von RechnerB aus:
RechnerB: xhost + ; ssh user1@RechnerC
RechnerC: export DISPLAY=192.168.0.2:0 ; xterm
xterm Xt error: Can't open Display: 192.168.0.2

RechnerC kann also nicht auf die Displays der anderen Rechner zugreifen, wenn die Verbindung über ssh -X hergestellt wird.

Ich bin nun völlig ratlos.
Hat jemand eine Idee woran es liegen kann? Gibt es im Zusammenhang mit "ssh -X" noch andere relevante Konfig.-Dateien die zu beachten sind?

Gruß
Michael

User avatar
gharika
Posts: 41
Joined: 12. Jan 2004 17:47

#2 Post by gharika »

Schon die ssh_config in /etc (evtl. /etc/ssh/) angeschaut und ausgewertet?

Da kann sowas drin stehen:

Code: Select all

ForwardX11 no
Dann noch die $HOME/.ssh/* Files mal löschen, das hilft manchmal wenn man was falsches eingestellt hatte und er die Korrektur/Änderung nicht übernimmt.

Dann checken wenn man sich mit -X eingeloggt hat ob das Display umgeleitet wird mit:

Code: Select all

rechnerA > ssh -X user1@rechnerB
rechnerB > echo $DISPLAY
Ansonsten mal man ssh lesen, hilft immer ;-)
Tue 10 Jahre lang gutes und niemand wird es bemerken, für eine Stunde böse sein und Ruhm ist dir gewiss.
(Alte Samurai Weisheit)

Ratsuchender

#3 Post by Ratsuchender »

X11-Forwarding ist, wie eingangs schon geschrieben, aktiviert.

Das löschen der $HOME/.ssh/* Files brachte nichts, sind ja auch nur die Keys, die known_hosts und die authorized_keys. Die sind in Ordnung, ssh an sich funktioniert ja auch.

Im ersten beschrieben Fall, der ja das Problem darstellt, sagt schon die Fehlermeldung

Code: Select all

 xterm Xt error: Can't open Display: 
dass das Display nicht gesetzt wurde, das bestätigt auch ein

Code: Select all

 echo $DISPLAY

welches keine Ausgabe gibt.

Aber wie beschrieben hilft auch das manuelle Setzen der Display-Variable mittels export ... nicht.

Beide Debian-Rechner sind per Net-Inst. neu aufgesetzt, untereinander gibt es Probleme, zu SuSE hin geht zumindest halbwegs.
Also C kann nicht auf das Display von B zugreifen, A kann es.
Irgendwie muss es wohl an C liegen,

Die Man-Page habe ich natürlich vor diesem Posting studiert, konnte aber keine entscheidenden Hinweise finden.

Ich rätsele weiter ... :roll:

User avatar
gharika
Posts: 41
Joined: 12. Jan 2004 17:47

#4 Post by gharika »

Ich würde erstmal eine Password-Authentifizierung zum laufen bringen, weil mit den Keys ist das immer etwas problematischer, sprich zusätzliche Fehlerquellen eliminieren. Wenn es läuft kann man ja auf Keys umsteigen.

Dann, überprüfe nochmal ob es ein großes -X ist, denn ein kleines -x disabled das X-Forwarding.

Sind alle auf die Protokoll-Version 2 gesetzt? Oder benutzen zumindest alle die gleiche Version? Hatte mal Probleme einen ssh-Client mit V2 an einem sshd V3 zum Laufen zu bewegen.

Setze zusätzlich die -v Option um evtl. mehr Informationen zu bekommen, was schief laufen könnte. Das export selber setzen hat bei mir noch nie geklappt, daher wundert mich das etwas. Also bei mir wird auch nie auf :0 weitergeleitet, sondern meist > 10... das $DISPLAY muss schon ssh setzen, meiner Meinung nach.

Auch wenn ich mich wiederhole und du sagst das hab ich schon gemacht, daß mach ich nicht weil ich es nicht gesehen habe, sondern weil man vielleicht doch etwas übersehen hat. Meist ist es nur eine Kleinigkeit ;-) Also alle erwähnten Punkte nochmal durchgehen kann nie schaden... und am besten immer von Null anfangen - sprich alle vorherigen Einstellungen zurücksetzen.
Tue 10 Jahre lang gutes und niemand wird es bemerken, für eine Stunde böse sein und Ruhm ist dir gewiss.
(Alte Samurai Weisheit)

Post Reply