Errores de reenvío ssh de Xauth/X11 con archivo .Xauthority que no se puede escribir

Errores de reenvío ssh de Xauth/X11 con archivo .Xauthority que no se puede escribir

Al iniciar sesión ssh -Y remotehostrecibo el siguiente mensaje de error:

/usr/bin/xauth: /home/hlovdal/.Xauthority no se puede escribir, los cambios se ignorarán

Y xclock y similares no se inician. No hay nada malo con los permisos del archivo .Xauthority a pesar del mensaje de error.

(hlovdal) remotehost:~>xclock
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
Error: Can't open display: localhost:10.0
(hlovdal) remotehost:~>ls -l /home/hlovdal/.Xauthority
-rw-------. 1 hlovdal hlovdal 70 Jul 25 23:30 /home/hlovdal/.Xauthority
(hlovdal) remotehost:~>

¿Cuál podría ser la causa aquí?

(Esto es entre mis dos computadoras portátiles, donde he estado yendo y viniendo cientos de veces antes).


Actualizar:

Mientras seguía depurando, xauth se quejó nuevamente de que no podía escribir en .Xauthority. Esto no tiene sentido ya que mi usuario puede escribir en el archivo y, curiosamente, ejecuté strace para ver exactamente qué intentaba hacer.

(hlovdal) remotehost:~>xauth list
xauth:  /home/hlovdal/.Xauthority not writable, changes will be ignored
(hlovdal) remotehost:~>strace -oout -f -s9000 xauth list
xauth:  error in locking authority file /home/hlovdal/.Xauthority
(hlovdal) remotehost:~>tail out
16634 brk(0xf03000)                     = 0xf03000
16634 brk(0)                            = 0xf03000
16634 rt_sigaction(SIGINT, {0x4050d0, [INT], SA_RESTORER|SA_RESTART, 0x3957035350}, {SIG_DFL, [], 0}, 8) = 0
16634 rt_sigaction(SIGTERM, {0x4050d0, [TERM], SA_RESTORER|SA_RESTART, 0x3957035350}, {SIG_DFL, [], 0}, 8) = 0
16634 rt_sigaction(SIGHUP, {0x4050d0, [HUP], SA_RESTORER|SA_RESTART, 0x3957035350}, {SIG_DFL, [], 0}, 8) = 0
16634 rt_sigaction(SIGPIPE, {0x4050d0, [PIPE], SA_RESTORER|SA_RESTART, 0x3957035350}, {SIG_DFL, [], 0}, 8) = 0
16634 stat("/home/hlovdal/.Xauthority-c", {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
16634 open("/home/hlovdal/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists)
16634 write(2, "xauth:  error in locking authority file /home/hlovdal/.Xauthority\n", 66) = 66
16634 exit_group(1)                     = ?
(hlovdal) remotehost:~>ls -l .Xauthority*
-rw-------. 1 hlovdal hlovdal 70 Jul 25 23:30 .Xauthority
-rw-------. 2 hlovdal hlovdal  0 Jul 26 01:26 .Xauthority-c
-rw-------. 2 hlovdal hlovdal  0 Jul 26 01:26 .Xauthority-l
(hlovdal) remotehost:~>

Esto explica mejor por qué falla xauth, ya que no puede crear .Xauthority-c. Pero eliminar esos dos archivos probablemente obsoletos no ayuda, se recrean en el siguiente inicio de sesión ssh. syslog en remotehost contiene lo siguiente relacionado con el inicio de sesión ssh.

sshd[17551]: Accepted publickey for hlovdal from x.x.x.x port 36545 ssh2
sshd[17552]: fatal: mm_request_receive: read: Connection reset by peer
sshd[17551]: pam_unix(sshd:session): session opened for user hlovdal by (uid=0)

Este mensaje de error mm_request_receive nunca había aparecido antes, así que supongo que ahí está la pista para una mayor depuración.

Respuesta1

Tuve el mismo problema después de sincronizar mi carpeta de inicio en Ubuntu 12.04. Lo resolví usando los siguientes comandos:

rm ~/.Xaut* 

Luego me desconecté y volví a iniciar sesión. Surgió la siguiente advertencia:

/usr/bin/xauth:  file /home/iranice/.Xauthority does not exist

Después de eso, Linux creó .Xauthorityel archivo automáticamente. Cerré la sesión y volví a iniciarla y todo estaba bien.

Respuesta2

Para mí tuve este error:

/usr/bin/xauth: error in locking authority file /home/toto/.Xauthority

porque mi partición /home estaba llena.

Liberar algo de espacio en esta partición resolvió este problema.

El comando strace: strace -oout -f -s9000 xauth listha sido útil para identificar el problema.

Respuesta3

Este parece ser un problema ya conocido informado enbugzilla de redhat, así que "cerraré" esta pregunta y continuaré informando ese informe de error.

Respuesta4

Para mí, el problema fue una cuestión de permisos. Incluso si eliminó el archivo .Xauthority, se volvió a crear y no se podía escribir. Entonces cambié de dueño y funcionó:

sudo chown user:user .Xauthority

Puede ser que el archivo se haya creado para root de forma predeterminada.

información relacionada