У меня проблема с переадресацией X через SSH. Я бьюсь уже много лет, но никто не может мне помочь.
Я сейчас поступаю по-другому. Хотелось бы узнать, как я буду отлаживать ошибки?
Какие журналы мне следует просмотреть, какие дополнительные флаги мне следует установить (-v и т. д.) и на что следует обратить внимание?
Дальнейшее редактирование:
Если я зайду на сервер через Putty и попробую xeyes
, то получу:
PuTTY X11 proxy: попытка неправильного протокола авторизацииОшибка: Невозможно открыть дисплей: localhost:10.0
Если я xauth generate $DISPLAY
получу:
PuTTY X11 proxy: неверный протокол авторизации attemptedxauth: (argv):1: невозможно открыть дисплей "localhost:10.0".
решение1
Мое решение шаг за шагом:
1) войти с опцией -X удаленный хост войти root
$ ssh -X[email protected]
2) проверьте, существует ли файл .Xauthority
[root@localhost ~]# ls -al [root@localhost ~]# vim .Xauthority
3) скопировать файл .Xauthority в каталог другого пользователя
[root@localhost ~]# cp .Xauthority /home/oracle/ cp: перезаписать `/home/oracle/.Xauthority'? y
4) установить разрешения для этого файла
[root@localhost ~]# chown oracle:oinstall .Xauthority [root@localhost ~]# chmod 0600 .Xauthority
5) войти в систему как пользователь Oracle
[root@localhost ~]# su - оракул
6) настройка отображения в localhost:10.0
[oracle@localhost ~]$ echo $DISPLAY локальный хост:10.0 [oracle@localhost ~]$ ls -al
7) выводит список существующих файлов cookie xauth
[oracle@localhost ~]$ список xauth localhost.localdomain/unix:11 MIT-MAGIC-COOKIE-1 310f1b02c1080e73059391c193a1881b localhost.localdomain/unix:10 MIT-MAGIC-COOKIE-1 41843db100830a2aa352641ac47bb759
8) добавление
[oracle@localhost ~]$ xauth добавить localhost.localdomain/unix:10 MIT-MAGIC-COOKIE-1 41843db100830a2aa352641ac47bb75
9) тест
[oracle@localhost ~]$ xclock
Надеюсь, они пригодятся! @wcaraza
решение2
Убедитесь, что на сервере SSH xauth
установлен этот инструмент, и что ваш ~/.Xauthority
файл доступен для записи. (Несуществующий файл тоже подойдет, если xauth
его можно создать.)
Проверьте, обновляются ли данные xauth:
server$ xauth list
Попробуйте вручную добавить фиктивные данные xauth (опять же, на SSH-сервере) и посмотрите, xauth
возникнут ли какие-либо проблемы (например, невозможность создать файл блокировки или изменить сам файл Xauthority):
server$ xauth add localhost:123 MIT-MAGIC-COOKIE-1 d7e2e4a8c5aa4430bfcc2abb436940d2
При необходимости повторите запуск под strace
.
Запустите службу SSH в режиме отладки, настроив ее LogLevel DEBUG2
в конфигурации сервера ( /etc/ssh/sshd_config
), или запустив sshd в режиме отладки напрямую:
server$ sshd -rddp 12234
(В этом примере 12234
— это временный порт SSH, к которому вам нужно подключиться. Подойдет любой свободный порт.)
решение3
Работает, работает. Ха-ха.
ОКОНЧАТЕЛЬНО.
Узнав, что проблема была не в системе, добавив тестового пользователя (переадресация x сработала «из коробки»), я подумал, что стоит начать копировать файлы запуска .bash*, чтобы очистить «сломанного» пользователя.
Ни один из файлов не отличался, поэтому я удалил каталог .ssh пользователя. Когда я зашел по ssh, он застонал о том, что "Сервер отклонил наш ключ", но я смог войти, используя пароль. После входа я мог отлично выполнить x forward.
Сейчас я попробую снова настроить ключ и посмотреть, получится ли у меня заставить его работать. Тогда все вернется к норме.
решение4
rm ~/.Xauth*
а затем снова подключитесь.
Это работает для меня. Для получения дополнительной информацииподробности