Wenn ich mich per SSH in ein Headless-Linux-Mint-17-System einlogge, wird kein Update bzw. keine .Xauthority-Datei erstellt.
xauth
Außerdem bekomme ich beim Laufen die Antwort:
marty@N40L ~ $ xauth
xauth: file /home/marty/.Xauthority does not exist
Using authority file /home/marty/.Xauthority
xauth>exit
marty@N40L ~ $ xauth
xauth: file /home/marty/.Xauthority does not exist
Using authority file /home/marty/.Xauthority
xauth>
Die Datei wird nicht erstellt.
BEARBEITEN:
Wenn ich den Monitor verbinde und mich dann lokal anmelde, wird die Datei erstellt. Wenn ich jedoch versuche, einen Eintrag hinzuzufügen (weil mein SSH dies nicht für mich erledigt), geschieht Folgendes:
marty@N40L ~ $ xauth list
N40L/unix:0 MIT-MAGIC-COOKIE-1 34eee3b15cdb281021502d40dfba1cf2
localhost.localdomain/unix:0 MIT-MAGIC-COOKIE-1 34eee3b15cdb281021502d40dfba1cf2
marty@N40L ~ $ ls -d .X*
-rw------- 1 marty marty 115 Sep 3 12:03 .Xauthority
marty@N40L ~ $ xauth generate $DISPLAY .
PuTTY X11 proxy: wrong authorisation protocol attemptedxauth: (argv):1: unable to open display "localhost:10.0".
Wenn Sie Folgendes ausführen, wird übrigens netstat --listen
angezeigt, dass der Port lauscht:
tcp 0 0 localhost:6010 *:* LISTEN
AGH, mehr Infos. Ich habe mich von der X-Sitzung auf dem Server abgemeldet und jetzt ist die .Xauthority-Datei verschwunden. Es scheint, dass die Datei NUR da ist, wenn ich lokal angemeldet bin. Kann mir jemand sagen, warum oder wie ich das beheben kann?
NEUE ENTWICKLUNG:
Ich habe auf dem System einen neuen Benutzer namens „Test“ erstellt. Dann habe ich mich angemeldet und ohne weitere Befehle xeyes ausgeführt. Das hat funktioniert! Es ist also NUR der Benutzer „Marty“, der kein xforward ausführen kann. Wie kopiere ich die Einstellungen von Test nach Marty?
Antwort1
Nur um zu berichten, ich hatte ein ähnliches Problem. Aber in meinem Fall folge ich einfachdiese Schritte:
Befolgen Sie diese Schritte, um eine $HOME/.Xauthority
Datei zu erstellen.
Melden Sie sich als Benutzer an und bestätigen Sie, dass Sie sich im Home-Verzeichnis des Benutzers befinden.
# Rename the existing .Xauthority file by running the following command
mv .Xauthority old.Xauthority
# xauth with complain unless ~/.Xauthority exists
touch ~/.Xauthority
# only this one key is needed for X11 over SSH
xauth generate :0 . trusted
# generate our own key, xauth requires 128 bit hex encoding
xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom)
# To view a listing of the .Xauthority file, enter the following
xauth list
Danach gab es keine Probleme mehr mit .Xauthority
der Datei.
Dank und Anerkennung anAbonnieren.
Antwort2
Öffnen Sie mit Root-Rechten /etc/ssh/sshd_config
die folgenden Zeilen und heben Sie ggf. die Kommentarzeichen auf:
X11-Weiterleitung ja
X11DisplayOffset 10
X11UseLocalhost ja
Melden Sie sich dann ab und erneut mit -X
dem Flag in an ssh
. Sie müssen DISPLAY
die Umgebungsvariable nicht festlegen oder aufheben.
Antwort3
Nur als Ergänzung zu dem ausgezeichnetenTonne'SAntwort.
Ich hatte einmal genau das gleiche Problem, weil mein Home-Verzeichnis zu 100 % voll war. Beim Verbinden ssh
wurde ein leeres Verzeichnis erstellt ~/.Xauthority
und ich konnte keinen einzigen Eintrag hineinschreiben (so dass xauth list
immer eine leere Ausgabe erzeugt wurde).
Ich schlage daher vor, immer den freien Speicherplatz zu prüfen (z. B.: df -h
) und sicherzustellen, dass xauth generate
dies xauth add
tatsächlich einen Effekt hatte ( xauth list
).
Antwort4
Durch das Verschieben des .ssh
Verzeichnisses aus dem Weg funktionierte die X-Weiterleitung bei mir.
Durch Ausschlussverfahren habe ich in ~/.ssh eine Datei mit dem Namen „rc“ gefunden, die Folgendes enthielt:
echo "Wecome to $(hostname), $(whoami)"
Ich habe das nie erstellt und habe keine Ahnung, woher es kam. Durch das Entfernen wurde das Problem behoben und meine authorized_keys
, known_hosts
, und Schlüsseldateien können alle intakt bleiben.