Ich habe in den letzten Wochen immer wieder nach einer Antwort auf diese Frage gesucht, aber keine der Lösungen, die ich gesehen habe, hat bei mir funktioniert. Ich habe versucht, die .Xauthority-Datei an beiden Orten zu löschen. Ich verwende Cygwin X, um auf einen anderen Computer zuzugreifen. In letzter Zeit hat die X11-Weiterleitung nicht funktioniert. Nach dem Starten des X-Servers auf meinem lokalen Computer:
[local]$ export DISPLAY=0.0
[local]$ ssh -XY user@remotelocation
Warning: No xauth data; using fake authentication data for X11 forwarding.
Ich bin nicht sicher, ob das hilfreich ist, aber:
[remote]$ xauth list
location/unix:10 MIT-MAGIC-COOKIE-1 304eb389beb66bf44ae6bc1821bdf472
Schließlich tritt das Problem hier auf:
[remote]$ gedit file &
X11 connection refused because of wrong authentication.
Ich habe immer die Warnung „Keine XAuth-Daten; verwende falsche Authentifizierung“ erhalten, aber seit kurzem wird die X11-Verbindung deshalb abgelehnt. Haben Sie Vorschläge?
Antwort1
Ich habe versucht, die
.Xauthority
Datei an beiden Speicherorten zu löschen.
Vielleicht ist vorher etwas schiefgelaufen, aber danach werden Sie sicher keinen Erfolg haben. Wenn Sie diesen Rat irgendwo gefunden haben und er sich nicht auf einen äußerst ungewöhnlichen Umstand bezog, der nicht auf Sie zutrifft, setzen Sie diese Quelle auf die schwarze Liste. Stellen Sie die .Xauthority
Datei auf dem Client wieder her.
Wenn Sie die Datei verloren haben .Xauthority
, können Sie sie möglicherweise aus einem laufenden Prozess oder einer temporären Datei wiederherstellen. Ich habe keine Ahnung, wie das mit Cygwin geht. Der einfache Weg, der überall funktioniert, besteht darin, den X-Server zu beenden und einen neuen zu starten.
Wenn Sie die Meldung „Keine XAuth-Daten; falsche Authentifizierung wird verwendet“ erhalten, können Remote-Anwendungen nicht auf Ihrem lokalen Server angezeigt werden, es sei denn, dieser ist mit deaktivierter Sicherheit konfiguriert. Ohne die Sicherheit von XAuth kann jeder Ihre X-Sitzung ausspionieren und Eingaben einschleusen, wenn er auf den X-Server zugreifen kann. Je nach Konfiguration müssen es lokale Benutzer sein (in diesem Fall ist es bei einem Einzelbenutzer-Betriebssystem nicht so schlimm) oder es reicht aus, dass sie eine TCP-Verbindung zu Ihrem Computer öffnen können (d. h. sie befinden sich in Ihrem lokalen Netzwerk, was jeder sein kann, wenn Sie z. B. öffentliches WLAN verwenden). Wenn es früher funktioniert hat und nicht mehr, liegt es möglicherweise daran, dass eine fehlende Sicherheitsüberprüfung kürzlich behoben wurde.
Sobald Sie eine gültige .Xauthority
Datei haben, öffnen Sie eine Shell und prüfen Sie, ob Sie lokale Anwendungen wie ausführen können gedit
. Führen Sie von derselben Shell aus ssh -X user@remotelocation
eine X-Anwendung aus und versuchen Sie, sie auszuführen. Entweder funktioniert das, oder Sie erhalten Fehlermeldungen. Lesen Sie diese und kopieren Sie sie, wenn Sie Hilfe benötigen. Wenn es nicht funktioniert, führen Sie aus ssh -vv -X user@remotelocation
. Die zusätzliche Debug-Ausgabe enthält Informationen dazu, warum es nicht funktioniert.
Stellen Sie sicher, dass der Server Remote-X-Verbindungen zulässt. Bei OpenSSH muss die Datei /etc/sshd_config
(oder /etc/ssh/sshd_config
ein anderer Speicherort, je nach Distribution) enthalten X11Forwarding yes
.