66 votes

xauth ne crée pas de fichier .Xauthority

Lorsque je me connecte à un système Linux Mint 17 sans tête, il ne crée pas de fichier .Xauthority ou ne le met pas à jour.

De plus, lorsque j'exécute xauth On me répond :

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>

Il ne crée pas le fichier.

EDIT :

Lorsque je me connecte au moniteur, puis que je me connecte localement, le fichier est créé, mais lorsque j'essaie d'ajouter une entrée (parce que mon SSH ne le fait pas pour moi) :

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".

Par ailleurs, la réalisation d'un netstat --listen indique le port en écoute :

tcp 0 0 localhost:6010 *:* LISTEN

AGH, plus d'informations. Je me suis déconnecté de la session X sur le serveur, et maintenant le fichier .Xauthority a disparu. Il semble que le fichier ne soit présent que lorsque l'on se connecte localement. Quelqu'un peut-il me dire pourquoi ou comment je peux résoudre ce problème ?

NOUVEAU DÉVELOPPEMENT :

J'ai créé un utilisateur vierge sur le système, appelé "test". Je me suis ensuite connecté, et sans AUCUNE autre commande, j'ai lancé xeyes. Ce qui a fonctionné ! C'est donc UNIQUEMENT l'utilisateur "marty" qui ne peut pas xforward. Comment puis-je copier les paramètres de test à marty ?

77voto

dajoropo Points 27

Juste pour signaler que j'ai eu un problème similaire. Mais dans mon cas, j'ai simplement suivi ces étapes :

Suivez ces étapes pour créer un $HOME/.Xauthority fichier.

Connectez-vous en tant qu'utilisateur et vérifiez que vous vous trouvez dans le répertoire personnel de l'utilisateur.

# 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 

Après cela, il n'y a plus de problèmes avec .Xauthority depuis lors.

Remerciements et crédits à srinivasan .

14voto

varsh Points 181

Sous les privilèges de la racine, ouvrez /etc/ssh/sshd_config et décommenter les lignes suivantes si elles sont commentées :

X11Forwarding oui

X11DisplayOffset 10

X11UseLocalhost oui

Ensuite, déconnectez-vous et reconnectez-vous avec -X drapeau en ssh . Il n'est pas nécessaire d'activer ou de désactiver DISPLAY variable d'environnement.

6voto

Bass Points 573

Pour compléter l'excellente tonne 's répondre .

J'ai déjà eu exactement le même problème parce que mon répertoire personnel était plein à 100 %. Lors de la connexion, ssh a créé un espace vide ~/.Xauthority et n'a pas été en mesure d'y inscrire une seule entrée (ce qui fait que le xauth list a toujours produit une sortie vide).

Je suggère donc de toujours vérifier l'espace libre (par exemple : df -h ) et vérifie que xauth generate y xauth add ont effectivement eu un effet ( xauth list ).

4voto

Lolo Points 31

J'ai trouvé une autre cause potentielle pour laquelle xauth ne crée pas le fichier .Xauthority en suivant quelques unes des réponses ci-dessus. Cela devrait être immédiatement évident si vous suivez Réponse de Ton :

$ touch ~/.Xauthority
touch: cannot touch ‘/nethome/jdoe/.Xauthority’: Disk quota exceeded

Ce qui précède se produira si vous dépassez le quota de "nombre de fichiers" pour votre utilisateur. Si vous dépassez le quota d'espace, vous verrez probablement ce message d'erreur à une autre étape. Ou, pour tester s'il s'agit d'un problème de quota d'espace disque, tapez :

echo "hello, world" > ~/hello.txt

Si le echo vous donne une Disk quota exceeded vous savez alors que vous utilisez trop d'espace dans votre répertoire personnel (par opposition à trop de fichiers ou d'inodes).

Solution dans l'un ou l'autre cas ? Nettoyez votre répertoire personnel !

2voto

billq Points 131

Déplacer le .ssh a fait en sorte que X forwarding fonctionne pour moi.

Par élimination, j'ai trouvé un fichier dans ~/.ssh qui s'appelait "rc", et qui contenait :

echo "Wecome to $(hostname), $(whoami)"

Je ne l'ai jamais créé et je n'ai aucune idée de son origine. En le supprimant, j'ai résolu le problème, et mon authorized_keys , known_hosts et les fichiers clés peuvent rester intacts.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X