Ошибки пересылки ssh Xauth/X11 с файлом.Xauthority недоступны для записи

При входе через ssh -Y remotehost Я получаю следующее сообщение об ошибке:

/ usr / bin / xauth: /home/hlovdal/.Xauthority недоступен для записи, изменения будут игнорироваться

И xclock и тому подобное не запускается. В разрешениях файла.Xauthority нет ничего плохого, несмотря на сообщение об ошибке.

(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:~>

Что может быть причиной здесь?

(Это между двумя моими ноутбуками, где я сотни раз перед этим работал.)


Обновить:

Продолжая отладку, xauth снова пожаловался, что не может записать в.Xauthority. Это не имеет смысла, так как файл доступен для записи для моего пользователя, и из любопытства я запустил strace, чтобы увидеть, что именно он пытался сделать.

(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:~>

Это лучше объясняет, почему xauth терпит неудачу, так как не может создать.Xauthority-c. Но удаление этих двух устаревших файлов не помогает, они воссоздаются при следующем входе в систему через ssh. Системный журнал в удаленном хосте содержит следующее, связанное с логином 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)

Это сообщение об ошибке mm_request_receive никогда раньше не появлялось, поэтому я думаю, что есть ключ к дальнейшей отладке.

5 ответов

Решение

Кажется, это уже известная проблема, о которой сообщалось в bugzilla Redhat, поэтому я "закрою" этот вопрос и продолжу сообщать об этом сообщении об ошибке.

У меня возникла та же проблема после синхронизации моей домашней папки в Ubuntu 12.04. Я решил это с помощью следующих команд:

rm ~/.Xaut* 

Затем я вышел из системы и снова вошел в систему. Появилось следующее предупреждение:

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

После этого Linux создал .Xauthority файл автоматически. Я вышел из системы и снова вошел в систему, и все было в порядке.

Для меня у меня была эта ошибка:

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

потому что мой / домашний раздел был полон.

Освобождение места на этом разделе решило эту проблему.

Команда strace: strace -oout -f -s9000 xauth list был полезен при выявлении проблемы.

Проблемой для меня были разрешения SELinux. Они должны быть настроены следующим образом:

chcon -Rv unconfined_u:object_r:xauth_home_t: s0 /PATH/.Xauthority

Для меня проблема заключалась в проблеме с разрешениями. Даже если вы удалили файл.Xauthority, он был воссоздан и недоступен для записи. Итак, я сменил владельца, и это сработало:

sudo chown user:user .Xauthority

Возможно, файл по умолчанию создан для root.

Другие вопросы по тегам