X über SSH und Xauth funktioniert nicht

1774
wkdmarty

Ich habe 2 Linux-Boxen (S1 - 192.168.0.98 und C1 - 192.168.0.76) und eine Windows 7 Box (W1 - 192.168.0.91).

Einer der Linux-Computer (S1) wurde mit SSH- und X-Forwarding eingerichtet, und die Windows-Box (W1) hat einen Xming-Server auf 0.0.

Ich kann Putty laufen lassen, dann xeyes auf der Windows-Box (W1) und es wird gut angezeigt.

Auf der zweiten Linux-Box C1) kann Remote x nicht über ssh laufen.

Ich kann mich von C1 bis S1 über ssh -X anmelden, aber wenn ich ein grafisches Programm starte, wird es nicht auf der Remote-Maschine angezeigt. Es wird nur dort angezeigt, bis ein "Can't Open-Display: 192.168.0.76:0.0" angezeigt wird oben.

Was mache ich falsch?

0

2 Antworten auf die Frage

1
grawity

Ihre Fehlermeldung "Anzeige kann nicht geöffnet werden: 192.168.0.76:0.0" klingt nicht nach SSH X11-Weiterleitung. Stattdessen versuchen Programme auf dem Remote-Host, eine direkte Verbindung zu C1 herzustellen, was aus mehreren Gründen nicht funktioniert (Xorg überwacht standardmäßig nicht auf TCP-Verbindungen; Ihre Firewall blockiert sie; die Xauth-Daten wurden nicht richtig gesendet.) .) Wenn X11 weitergeleitet wurde, würde $ DISPLAY auf den gleichen Rechner (localhost) zeigen, und die Anzeigenummer würde bei 10 beginnen.

Überprüfen Sie zunächst den $ DISPLAY-Wert in C1 und stellen Sie sicher, dass Clients in C1 eine Verbindung zum X-Server herstellen können.

Versuchen Sie dann erneut, die Verbindung C1 → S1 zu verwenden, ssh -X -v -v S1und stellen Sie sicher, dass keine Fehlermeldungen bezüglich der Weiterleitung von X11 vorhanden sind. Es kann auf dem Server deaktiviert sein. (Wenn Sie eine Verbindung mit PuTTY herstellen, klicken Sie mit der rechten Maustaste auf die Konsole und wählen Sie "Ereignisprotokoll".)

Um die Serverprotokolle LogLevel DEBUG2anzuzeigen, fügen Sie zu / etc / ssh / sshd_config hinzu und starten Sie sshd erneut.

OK, vielleicht werde ich dann verwirrt. Ich dachte, mein W1 und S1 machten SSH X11-Forwarding, aber durch die Geräusche hört Xming auf W1 einfach auf TCP-Verbindungen auf und die DISPLAY-Variable ist einfach richtig eingestellt, um sie zu verwenden. Soll ich DISPLAY auf S1 als localhost festlegen: 10.0, wenn die ssh-Anmeldung von C1 und W1 erreicht wird? wkdmarty vor 9 Jahren 0
Ich habe das gemacht, aber jetzt kommt "X11-Verbindung wegen falscher Authentifizierung abgelehnt" "Fehler: Anzeige kann nicht geöffnet werden: localhost: 10.0" wkdmarty vor 9 Jahren 0
@wkdmarty: Wenn die X11-Weiterleitung funktioniert, wird $ DISPLAY automatisch konfiguriert ... Haben Sie die Client- und Serverprotokolle geprüft? grawity vor 9 Jahren 0
OK, wenn ich von C1 aus in S1 sage, ist DISPLAY localhost: 10.0. Ist dieser Fehler jetzt ein Xauth-Problem? Ich habe XAUTHORITY auf /home/marty/.Xauthority gesetzt, aber das ist lokal für S1. Hier werde ich verwirrt. Sollte die xauth-Liste auf S1 localhost / unix enthalten: 10 MIT-MAGIC-COOKIE-1 und die Hexerei von C1? Derzeit hat es nur seinen Maschinennamen und einen eigenen Sechskantschlüssel. wkdmarty vor 9 Jahren 0
Interessanterweise (und ärgerlich) ist DISPLAY leer, wenn ich von W1 oder C1 reinstehe. wkdmarty vor 9 Jahren 0
@wkdmarty: Ja, die Weiterleitungsfunktion fügt bei S1 "localhost / unix: 10" hinzu, obwohl ich denke, es könnte einen anderen Schlüssel generieren. ** Überprüfen Sie die Client- und Serverprotokolle. ** grawity vor 9 Jahren 0
Geprüfte S1 "xauth list" - Nur 1 Eintrag und das ist für diese Maschine, kein localhost / unix: 10 oder ähnliches. Welche Protokolle sollte ich prüfen? In / var / log habe ich eine Last, aber der einzige, der damit in Verbindung steht, ist Xorg.0.log - nichts Nützliches (ich glaube nicht). Es tut mir leid, ein Neuling in diesem Bereich zu sein, ich dachte, ich werde unter Linux besser (daher diese Linux-Boxen). wkdmarty vor 9 Jahren 0
Selbst wenn ich manuell "xauth add localhost / unix: 10 MIT-MAGIC-COOKIE-1 " hinzufüge, wird immer noch der Fehler "X11-Verbindung wegen falscher Authentifizierung abgelehnt" angezeigt. wkdmarty vor 9 Jahren 0
@wkdmarty: Informationen zu clientseitigen Protokollen finden Sie im letzten Absatz des Beitrags. (Ich werde für die serverseitigen Updates aktualisieren.) grawity vor 9 Jahren 0
EventLog of PuTTY - X11 Forwarding aktiviert. Dann beim Ausführen von xeyes - Empfangene X11-Verbindungsanforderung von :: 1: 42852. Das Öffnen der X11-Vorwärtsverbindung war erfolgreich. Nichts mehr zu senden, Kanal schließen. Weitergeleitete X11-Verbindung beendet. wkdmarty vor 9 Jahren 0
Leichte Änderung jetzt habe ich sshd neu gestartet. EventLog of PuTTY - X11 Forwarding aktiviert. Dann beim Ausführen von xeyes - X11-Verbindungsanforderung von 127.0.0.1:60923 empfangen. Das Öffnen der X11-Vorwärtsverbindung war erfolgreich. Nichts mehr zu senden, Kanal schließen. Weitergeleitete X11-Verbindung beendet. wkdmarty vor 9 Jahren 0
OK, ich habe diese Frage geschlossen, weil ich glaube, dass die Weiterleitung nicht verwendet wurde, und ich hatte einfach einen Firewall-Port an meiner Windows-Box geöffnet, um direktes TCP an meinen Xming-Server zuzulassen. Ich habe jetzt aber noch ein Problem mit der Weiterleitung. Es funktioniert nicht und Fehler mit falscher Authentifizierung. Siehe http://superuser.com/questions/805725/how-do-i-debug-x11-connection-rejected-because-of-wrong-authentication wkdmarty vor 9 Jahren 0
0
jdh

Am wahrscheinlichsten - haben Sie in der Putty-Konfiguration für C1 "Enable X Forwarding" aktiviert (unter Connection-> SSH-> X11).

Ist auch die Umgebungsvariable DISPLAY auf C1 eingestellt?

Bei beiden Kunden ja. ANZEIGE auf C1 ist 192.168.0.76:0.0 (die aktuelle IP-Adresse) wkdmarty vor 9 Jahren 0