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

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

Когда я подключаюсь по ssh к системе 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 исчез. Похоже, файл есть ТОЛЬКО при локальном входе. Может кто-нибудь сказать мне, почему или как это исправить?

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

Я создал в системе пользователя-девственника с именем "test". Затем я вошел в систему и без ВСЕХ других команд запустил xeyes. Что сработало! Так что ТОЛЬКО пользователь "marty" не может выполнить xforward. Как скопировать настройки из test в marty?

решение1

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

Чтобы создать файл, выполните следующие действия $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.

Благодарности и кредитыШринивасан.

решение2

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

X11Пересылка да

X11DisplayOffset 10

X11UseLocalhost да

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

решение3

Просто чтобы дополнить превосходныйтонна'sотвечать.

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

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

решение4

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

Методом исключения я нашел файл в ~/.ssh, который назывался «rc» и содержал:

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

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

Связанный контент