Як налагодити "З’єднання X11 відхилено через неправильну аутентифікацію"


10

У мене проблема з переадресацією X через SSH. Я бився віками, але ніхто, здається, не може допомогти.

Зараз я беру інший такт. Мені хотілося б знати, як я б налагоджував помилки?

Які журнали слід шукати, які додаткові прапори потрібно встановити (-v тощо) і що слід шукати?

Далі редагувати:

Якщо я ввійду в Putty на сервер і спробую xeyes, я отримаю:

Проксі PuTTY X11: спроба протоколу авторизації спробаПомилка: Не вдається відкрити дисплей: localhost: 10.0

Якщо xauth generate $DISPLAYя отримаю:

Проксі PuTTY X11: спроба невідомого протоколу авторизації спробаxauth: (argv): 1: не вдається відкрити екран "localhost: 10.0"


У своєму запитанні з дня ви описуєте різні симптоми. Ви все ще страждаєте від "Не вдається відкрити дисплей", або ти вирішив це? Якщо ви вирішили це, і одна з відповідей на це питання була корисною, виберіть його як відповідь, щоб нагородити людину, яка вам допомогла.
Кенстер

Погодьтеся, це вже інша помилка, я закрив це питання.
wkdmarty

Перевірте, чи ця відповідь стосується вашого сервера
Кенстер

Kenster, у мене не було жодного файлу rc на сервері, тому я створив його і вставив код. Без різниці.
wkdmarty

У журналах PuTTY це з’являється після того, як я спробую запустити програму x (після входу в SSH). 2014-09-01 15:16:38 Отримано запит на підключення X11 від 127.0.0.1.189566 2014-09-01 15:16:38 Відкриття передачі X11 вперед перервано 2014-09-01 15:16:38 Надіслати нічого, закритий канал 2014-09-01 15:16:38 Переадресований X11-з'єднання припинено
wkdmarty

Відповіді:


13

Моє рішення крок за кроком:

1) вхід з опцією -X віддалений корінь входу хоста

$ ssh -X root@192.168.1.39

2) перевірити, чи існує файл .Xauthority

[root @ localhost ~] # ls -al
[root @ localhost ~] # vim .Xauthority

3) скопіюйте .Xauthority файл у каталог іншого користувача

[root @ localhost ~] # cp .Xauthority / home / oracle /
cp: перезаписати `/home/oracle/.Xauthority '? у

4) встановити дозволи для цього файлу

[root @ localhost ~] # chown oracle: oinstall .Xauthority
[root @ localhost ~] # chmod 0600 .Xauthority

5) увійти користувач Oracle

[root @ localhost ~] # су - оракул

6) налаштування дисплея в localhost: 10.0

[oracle @ localhost ~] $ echo $ DISPLAY
localhost: 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
Частина xauth додати .... це фокус
Вей

кроки 3. і 4. зробили для мене трюк
kiltek

6

Переконайтесь, що на сервері 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, до якого потрібно підключитися. Буде робити будь-який вільний порт.)


Дякую. Xauth на сервері може записати у файл .Xauthority. Але що це повинно бути встановлення? сервер = N40L, клієнт = Lin001. Чи повинен список xauth на N40L показувати запис для localhost: 10 MIT-MAGIC-COOKIE-1 {Lin001'sHexKey}?
wkdmarty

@wkdmarty: Так, ваш sshd прослухає на порту TCP, що відповідає дисплею: ​​10 (або: 11,: 12 ...), і це відобразиться як "localhost: 10". Щодо шістнадцяткового ключа, однак, я не знаю, чи мається на увазі використовувати той самий ключ - я думаю, що ssh насправді генерує новий і діє як проксі ...
user1686

нормально, я можу бачити, що 0.0.0.0:6011 слухає. У моїй змінній DISPLAY зазначено N40L: 11.0, що я вважаю неправильним, тому я зміню це на DISPLAY = localhost: 10.0. Ні, все ще помиляється. Я помітив на SSH-з'єднанні цей рядок: debug2: x11_get_proto / usr / bin / xauth list: 0.0 2> / dev / null, де б я не бачив реєстрацію SSH-з'єднання, ця лінія відрізняється ... показує генерацію ключів, ніколи : 0,0.?
wkdmarty

@wkdmarty: Як правило, sshd повинен встановити $ DISPLAY на правильне значення ... а порт 6011 все одно відповідає відображенню 11, а не 10.
користувач1686

1
"Моя змінна DISPLAY повідомляє N40L: 11.0 ... тому я зміню це". Щоб притупитись, залиште DISPLAY у спокої. Якщо ssh налаштовує переадресацію X11, вона встановить DISPLAY на значення, яке буде працювати. Перевизначення значення, яке задає ssh, просто ускладнить процес усунення несправностей.
Кенстер

3

Це працює, працює. ха-ха.

ОКОНЧНО.

Дізнавшись, що це не ця система, додавши тестового користувача (який переадресація x працював "у вікні"), я подумав, що почав би копіювати файли запуску .bash * через, щоб девізінізувати "зламаного" користувача.

Жоден з файлів не відрізнявся, тому наступне я видалив .ssh каталог користувачів. Коли я входив, я застогнав над "Сервер відмовився від нашого ключа", але я міг увійти, використовуючи пароль. Після входу в систему я міг x передати ідеально.

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


Це працювало і для мене. Я спробував усі інші методи, але так, мабуть, проблема полягала в ключах.
допоміжний

1

Ще одна річ, яка може викликати цю проблему, - це існування ~/.ssh/rcфайлу на сервері - машині, до якої ви підключаєтесь. Видаліть його (або перейменуйте), щоб вирішити проблему.


1
Per man sshd, SSHD працює ~/.ssh/rcзамість xauth, @PimpJuiceIT.
Кен Джексон

Дякую! Детальніше дивіться на: docstore.mik.ua/orelly/networking_2ndEd/ssh/… . Потрібно додати відповідні команди для запуску xauth у файлі rc, але я його не знайшов.
Метт Б.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.