xauth не создает.Xauthority файл
Когда я захожу в безголовую систему 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. Как скопировать настройки из теста в марти?
10 ответов
Узнав, что это была не система, добавив тестового пользователя (который x перенаправлял "из коробки"), я подумал, что начну копировать файлы запуска.bash*, чтобы девизировать "испорченного" пользователя.
Ни один из файлов не отличался, поэтому я удалил каталог.ssh пользователей. Когда я входил в ssh, он стонал по поводу "Сервер отказался от нашего ключа", но я мог войти в систему, используя пароль. Зайдя в систему, я мог отлично переслать x.
Теперь я попытаюсь снова установить ключ и посмотреть, смогу ли я заставить его работать тоже. Тогда все вернется на круги своя.
Просто чтобы сообщить, у меня была похожая проблема. Но в моем случае я просто следую этим шагам:
Выполните следующие шаги, чтобы создать $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
После этого больше нет проблем с .Xautority
файл с тех пор.
Спасибо и кредиты для Шринивасан.
Под root права открываются /etc/ssh/sshd_config
и раскомментируйте следующие строки, если они закомментированы:
X11 переадресация да
X11DisplayOffset 10
X11UseLocalhost да
Затем выйдите и войдите снова с -X
флаг в ssh
, Вы не должны устанавливать или сбрасывать DISPLAY
переменная окружения.
Просто чтобы дополнить ответ превосходной ton.
Однажды у меня была точно такая же проблема, потому что мой домашний каталог был заполнен на 100%. После подключения, ssh
создал пустой ~/.Xauthority
и не смог написать ни одной записи (так что xauth list
всегда выдавал пустой вывод).
Поэтому я предлагаю всегда проверять свободное место (например: df -h
) и проверяет, что xauth generate
а также xauth add
действительно имел какой-либо эффект (xauth list
).
Обнаружил еще одну потенциальную причину того, что xauth не создает файл.Xauthority, выполнив пару ответов выше. Это должно стать очевидным, если вы следуете ответу Тона:
$ touch ~/.Xauthority
touch: cannot touch ‘/nethome/jdoe/.Xauthority’: Disk quota exceeded
Вышеуказанное произойдет, если вы превысите квоту "количество файлов" для вашего пользователя. Если вы превысите квоту пространства, вы, вероятно, увидите это сообщение об ошибке на другом этапе. Или, чтобы проверить, не связана ли проблема с квотой на дисковое пространство, введите:
echo "hello, world" > ~/hello.txt
Если
echo
дает вам
Disk quota exceeded
сообщение, то вы знаете, что используете слишком много места в своем домашнем каталоге (в отличие от слишком большого количества файлов или индексных дескрипторов).
Решение в любом случае? Очистите свой домашний каталог!
Вот еще один ответ, который я хотел бы найти (обработка случая пересылки с хоста виртуальной машины на гостевую виртуальную машину):
Могут быть определенные образы виртуальных машин (в моем случае образ KVM для Ubuntu 18.04), в которых по какой-то причине значение по умолчанию в
/etc/ssh/sshd_config
за
AddressFamily
установлен на
any
(Я наткнулся на это как на возможность здесь, на платформе Redhat Bugzilla, после того, как погуглил ошибку при запуске
journalctl -xe
, с подстрокой
"Failed to allocate internet-domain X11 display socket."
).
Конечно, предполагается, что
xauth
установлен / запущен.
Итак, что можно найти в других ответах здесь было не достаточно для меня, я нуждался в настройках:
AddressFamily inet
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no
В
10
должен зависеть от конфигурации вашего хост-компьютера, мне пришлось использовать
X11UseLocalhost no
, потому что в противном случае гость KVM будет пытаться перенаправить на свои собственные дисплеи, а не дисплеи хост-машины.
Если вы используете
ssh-agent
, то есть
AllowAgentForwarding yes
также, что, вероятно, следует активировать.
Перемещение .ssh
каталог из пути заставил X переадресацию работать на меня.
В процессе удаления я нашел файл в ~/.ssh, который назывался "rc" и содержал:
echo "Wecome to $(hostname), $(whoami)"
Я никогда не создавал это, и понятия не имею, откуда это взялось. Удаление это решило проблему, и мой authorized_keys
, known_hosts
и ключевые файлы могут оставаться неизменными.
Я столкнулся с этой же проблемой на двух серверах, которые были технически родственными узлами. Боль в хвосте, потому что я не мог понять, что было по-другому. Оказывается, каталог / home был переполнен, поэтому файлы.Xauthority не могли заполняться должным образом. Когда я обнаружил, что файлы занимают слишком много места, и удалил их, новые файлы.Xauthority были созданы правильно.
Другая возможная причина:
на устройстве не осталось места (df показывает 0 байт)
Возможное исправление: например, удаление кеша Python-pip.
Я исправил эту проблему:
Я открыл ssh-соединение со своим сервером с помощью-X
такой вариант команды
ssh -X user@ip
затем я получил ошибку Xauthority. Итак, я просто запустил эту команду на ssh-сервере
touch .Xauthority
Просто запусти это
После этого просто
nano /etc/ssh/sshd_config
Раскомментируйте следующее и замените<username>
с вашим именем пользователя
Match User <Username>
X11Forwarding yes
# AllowTcpForwarding yes
# PermitTTY yes
# ForceCommand cvs server