xauth не создает .Xauthority файл

28

Когда я захожу в безголовую систему Linux Mint 17, она не создает обновления / создает файл .Xauthority.

Более того, когда я бегу, xauthя получаю ответ:

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>

Это не создает файл.

РЕДАКТИРОВАТЬ:

Когда я подключаю монитор, затем регистрируюсь локально, файл создается, но когда я пытаюсь добавить запись (потому что мой SSH не делает это для меня):

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

Между прочим, выполнение netstat --listenпоказывает прослушивание порта:

tcp 0 0 localhost:6010 *:* LISTEN

AGH, больше информации. Я вышел из сеанса X на сервере, и теперь файл .Xauthority исчез. Кажется, файл только там при входе в систему локально. Может кто-нибудь сказать мне, почему, или как я могу это исправить?

НОВАЯ РАЗРАБОТКА:

Я создал девственного пользователя в системе под названием «тест». Затем я вошел в систему, и без каких-либо других команд, запустил xeyes. Который работал! Так что ТОЛЬКО пользователь "Марти" не может xforward. Как скопировать настройки из теста в марти?

wkdmarty
источник
Вы сказали это, чтобы создать файл? ssh -Xвключает пересылку X11.
user1686
Да, я использую Putty на Windows, настройка для пересылки (работает при подключении к другому серверу Mint). Но файл не создан, поэтому я решил добавить его вручную, xauth также не создает его вручную.
wkdmarty
Локальный Xwindows создает файл .Xauthority, а сессия Putty SSH - нет. Хотя это показывает, что он слушает соединение.
wkdmarty

Ответы:

34

Просто чтобы сообщить, у меня была похожая проблема. Но в моем случае я просто следую этим шагам :

Выполните следующие шаги, чтобы создать $HOME/.Xauthorityфайл.

Войдите в систему как пользователь и подтвердите, что вы находитесь в домашнем каталоге пользователя.

# 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 

После этого проблем с .Xauthorityфайлом больше нет .

Спасибо и кредиты для Шринивасан .

тонна
источник
1
в моем случае у меня была переменная окружения XAUTHORITY, указывающая куда-то еще (неосторожная ошибка), используя этот [ prefetch.net/blog/index.php/2011/11/01/… поток, я смог обнаружить это и устранить ошибка. Используя strace xauth, он указал неверный путь, указанный в переменной. Я должен также добавить, что я получаю ошибки блокировки aswel, среди прочего
Cybex
1
В моем случае мне нужно было только выполнить шаги с 1 по 3. Шаг 4 и 5 на самом деле не помогли.
Ричард
Я должен сделать xauth generate :0 . trustedпосле каждой команды, userчтобы открыть дисплей как root. Могу ли я сделать это исправить?
Тимо
xhost +помог открыть х-приложения как root.
Тимо
7
шаг 3 дает мне ошибку:xauth: (argv):1: unable to open display ":0".
simpleuser
4

Просто в дополнение к отличной тонный «s ответ .

Однажды у меня была точно такая же проблема, потому что мой домашний каталог был заполнен на 100%. При подключении sshсоздал пустой ~/.Xauthorityи не смог записать в него ни одной записи (так что xauth listвсегда производил пустой вывод).

Поэтому я предлагаю всегда проверять свободное пространство (например df -h:) xauth generateи проверять, что xauth addоно действительно оказало какое-либо влияние ( xauth list).

бас
источник
1

Узнав, что это была не система, добавив тестового пользователя (который x перенаправлял «из коробки»), я подумал, что начну копировать файлы запуска .bash *, чтобы девизировать «испорченного» пользователя.

Ни один из файлов не отличался, поэтому я удалил каталог .ssh пользователей. Когда я входил в ssh, он стонал по поводу «Сервер отказался от нашего ключа», но я мог войти в систему, используя пароль. Зайдя в систему, я мог отлично переслать.

Теперь я попытаюсь снова установить ключ и посмотреть, смогу ли я заставить его работать тоже. Тогда все вернется на круги своя.

wkdmarty
источник
1

Перемещение .sshкаталога с пути заставило X пересылку работать для меня.

В процессе удаления я нашел файл в ~ / .ssh, который назывался «rc» и содержал:

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

Я никогда не создавал это, и понятия не имею, откуда это взялось. Удаление его исправили проблему, и мои authorized_keys, known_hostsи ключевые файлы могут все пребывание нетронутой.

billq
источник
1

Под привилегиями root откройте /etc/ssh/sshd_configи раскомментируйте следующие строки, если они закомментированы:

X11 переадресация да

X11DisplayOffset 10

X11UseLocalhost да

Затем выйдите из системы и войдите снова с -Xфлагом ssh. Вам не нужно устанавливать или отменять DISPLAYпеременную окружения.

Varsh
источник
0

Я столкнулся с этой же проблемой на двух серверах, которые были технически родственными узлами. Боль в хвосте, потому что я не мог понять, что было по-другому. Оказывается, каталог / home был переполнен, поэтому файлы .Xauthority не могли заполняться должным образом. Когда я обнаружил, что файлы занимают слишком много места, и удалил их, новые файлы .Xauthority были созданы правильно.

Linux_User
источник