Когда я подключаюсь по 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 могут остаться нетронутыми.