S SH с туннелированием X11 дает ошибку аутентификации - PullRequest
0 голосов
/ 05 августа 2020

Я получаю следующую ошибку при попытке открыть приложения X11 через туннель S SH (на windows через Xming как X-сервер и git bash).

X11 connection rejected because of wrong authentication

Или эта ошибка при попытке сделать то же самое через MobaXTerm

MobaXterm X11 proxy: Unsupported authorization protocol

Пункт назначения linux (где запускаются клиентские приложения X) очень старый (SuSe 11.4) с X11 7.6.

1 Ответ

0 голосов
/ 05 августа 2020

Проблема заключалась в том, что имя хоста было настроено в /etc/hosts как принадлежащее 127.0.0.1.

НЕПРАВИЛЬНО:

127.0.0.1      localhost my-computer-name
192.168.0.123  my-computer-name

Решением было удалить my-computer-name из 127.0.0.1.

Но почему это произошло?

Библиотека libxcb использует getpeername, чтобы найти адрес сервера X11 и ищет этот адрес в файле .Xauthority. getpeername возвращает адрес, который был использован для connect сокета. Немного ранее при выполнении программы этот адрес был получен путем вызова getaddrinfo с именем хоста из переменной среды DISPLAY.

getaddrinfo возвращает связанный список адресов. Если первый адрес - удаленный IP, все работает. Если первый адрес - 127.0.0.1, он не может найти правильную авторизацию ie и авторизация не выполняется.

...