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
Display-Umleitung mittels SSH
Schon die ssh_config in /etc (evtl. /etc/ssh/) angeschaut und ausgewertet?
Da kann sowas drin stehen:
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:
Ansonsten mal man ssh lesen, hilft immer
Da kann sowas drin stehen:
Code: Select all
ForwardX11 no
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
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)
(Alte Samurai Weisheit)
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
dass das Display nicht gesetzt wurde, das bestätigt auch ein
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 ...
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:
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 ...
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.
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)
(Alte Samurai Weisheit)