xauth non sta creando il file .Xauthority


28

Quando mi immetto in un sistema Linux Mint 17 senza testa, non crea aggiornamento / crea un file .Xauthority.

Inoltre, quando corro xauthottengo la risposta:

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>

Non crea il file.

MODIFICARE:

Quando collego il monitor, quindi eseguo l'accesso localmente, il file viene creato ma quando provo ad aggiungere una voce (perché il mio SSH non lo fa per me):

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

Per inciso, facendo una netstat --listenmostra l'ascolto della porta:

tcp 0 0 localhost:6010 *:* LISTEN

AGH, maggiori informazioni. Sono uscito dalla sessione X sul server e ora il file .Xauthority è scomparso. Sembra che il file sia presente SOLO quando si accede localmente. Qualcuno può dirmi perché o come posso risolvere questo problema?

NUOVO SVILUPPO:

Ho creato un utente vergine sul sistema chiamato "test". Ho quindi effettuato l'accesso, e senza NESSUN altro comando, ho eseguito xeyes. Che ha funzionato! Quindi è SOLO l'utente "marty" che non può xforward. Come copio le impostazioni da test a marty?


Gliel'hai detto per creare il file? ssh -Xabilita l'inoltro X11.
user1686

Sì, sto usando Putty su Windows, installazione per l'inoltro (funziona sulla connessione a un altro server Mint). Ma il file non è stato creato, quindi ho pensato di aggiungerlo manualmente, neanche xauth lo crea manualmente.
wkdmarty,

Local Xwindows crea il file .Xauthority, ma la sessione di Putty SSH no. Anche se lo mostra ascoltando la connessione.
wkdmarty,

Risposte:


34

Solo per riferire, ho avuto un problema simile. Ma nel mio caso seguo solo questi passaggi :

Seguire questi passaggi per creare un $HOME/.Xauthorityfile.

Accedi come utente e conferma di essere nella home directory dell'utente.

# 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 

Dopodiché non ci sono più problemi con il .Xauthorityfile da allora.

Grazie e ringraziamenti a srinivasan .


1
nel mio caso, avevo una variabile d'ambiente XAUTHORITY che puntava altrove (un errore imprudente), usando questo thread [ prefetch.net/blog/index.php/2011/11/01/… sono stato in grado di scoprire questo e risolvere il errore. Usando strace xauth, ha indicato il percorso errato specificato nella variabile. Dovrei anche aggiungere che stavo ricevendo errori di blocco, tra gli altri
Cybex,

1
Nel mio caso, ho dovuto solo eseguire i passaggi da 1 a 3. I passaggi 4 e 5 in realtà non hanno funzionato.
Richard Ayotte,

Devo fare xauth generate :0 . trusteddopo ogni comando come useraprire un display come root. Posso farlo riparare?
Timo

xhost +aiutato ad aprire x-app come root.
Timo

7
il passaggio 3 mi dà l'errore:xauth: (argv):1: unable to open display ":0".
simpleuser

4

Giusto per completare l'eccellente ton 's risposta .

Una volta ho avuto esattamente lo stesso problema perché la mia home directory era piena al 100%. Al momento della connessione, ha sshcreato un vuoto ~/.Xauthoritye non è stato in grado di scrivere alcuna voce singola su di esso (in modo che xauth listabbia sempre prodotto un output vuoto).

Quindi suggerisco di controllare sempre lo spazio libero (ad esempio df -h:) e di verificarlo xauth generatee di xauth addaver effettivamente avuto alcun effetto ( xauth list).


1

Dopo aver scoperto che non era il sistema, aggiungendo un utente di prova (il cui inoltro x funzionava "out the box"), ho pensato di iniziare a copiare i file di avvio .bash * per rendere vergine l'utente "non funzionante".

Nessuno dei file era diverso, quindi ho eliminato la directory .ssh degli utenti. Quando ho registrato, si è lamentato "Il server ha rifiutato la nostra chiave", ma ho potuto accedere utilizzando la password. Una volta effettuato l'accesso, potrei x inoltrarmi perfettamente.

Ora proverò di nuovo ad impostare la chiave e vedrò se riesco a farlo funzionare anche. Quindi tornerà alla normalità.


1

Spostare la .sshdirectory di mezzo ha fatto funzionare l'inoltro X per me.

Attraverso il processo di eliminazione, ho trovato un file in ~ / .ssh che si chiamava "rc" e conteneva:

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

Non l'ho mai creato e non ho idea da dove provenga. Rimuoverlo risolto il problema, e le mie authorized_keys, known_hostse file chiave può tutto rimangono intatti.


1

Sotto i privilegi di root aprire /etc/ssh/sshd_confige rimuovere il commento dalle seguenti righe se sono commentate:

X11 Inoltro sì

X11DisplayOffset 10

X11Uso host locale sì

Quindi disconnettersi e accedere nuovamente con -Xflag in ssh. Non è necessario impostare o annullare l'impostazione DISPLAYdella variabile di ambiente.


0

Mi sono imbattuto in questo stesso problema su due server che erano tecnicamente nodi gemelli. Dolore alla coda, perché non riuscivo a capire cosa fosse diverso. Si scopre che la directory / home era piena, quindi i file .Xauthority non potevano essere compilati correttamente. Una volta individuati i file che occupavano troppo spazio e li ho eliminati, i nuovi file .Xauthority sono stati creati correttamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.