debug1: Нет программы xauth.

Вопрос или проблема

Нет программы xauth; невозможно перенаправить X11

Я получил следующую ошибку, когда попытался выполнить команду.

$ ssh -v -X name@host
...
debug1: Нет программы xauth.
Предупреждение: Нет данных xauth; используется поддельные данные аутентификации для перенаправления X11.
...

Согласно вышеуказанному, у меня уже есть следующая строка в /etc/ssh/sshd_config на хосте. Кто-нибудь знает, как исправить эту проблему?

$ grep  XAuthLocation /etc/ssh/sshd_config
XAuthLocation /usr/bin/xauth
$ which xauth
/usr/bin/xauth
$ xauth version
1.1

https://stackoverflow.com/questions/39622173/cant-run-ssh-x-on-macos-sierra

Вышеупомянутая информация актуальна. Я использую Catalina. Следующие строки необходимо добавить в /etc/ssh/ssh_config под записью Host *.

XAuthLocation /opt/X11/bin/xauth
ServerAliveInterval 60
ForwardX11Timeout 596h

Установите xauth на целевом хосте. На обоих сайтах должна быть установлена программа xauth для обмена/проверки, например, MIT-MAGIC-COOKIE-1.

Ответ или решение

Ошибка "debug1: No xauth program. Warning: No xauth data; using fake authentication data for X11 forwarding." указывает на проблемы с перенаправлением X11 через SSH-соединение. Это может возникать по нескольким причинам, связанным с отсутствием необходимого ПО, неправильной настройкой конфигурационных файлов или несовместимостью версий программного обеспечения.

Понимание проблемы

X11 – это графическая система, используемая на Unix-подобных системах. При использовании SSH для подключения к удаленной машине возможно перенаправление X11, что позволяет запускать графические приложения на удаленной машине и отображать их на локальном экране. Для этого требуется программа xauth, которая управляет авторизацией.

Возможные причины проблемы

  1. Отсутствие xauth: На целевой системе может не быть установленного пакета xauth. Это необходимо для обмена и проверки данных авторизации, таких как MIT-MAGIC-COOKIE-1.

  2. Неправильное расположение программы xauth: Если программа установлена в нестандартной директории, SSH может ее не находить.

  3. Конфигурационные файлы SSH: Возможно, настройки в файлах /etc/ssh/ssh_config или /etc/ssh/sshd_config не соответствуют требованиям для корректной работы X11 перенаправления.

Решение проблемы

  1. Установка xauth на целевой машине:
    Убедитесь, что xauth установлен. Для установки вы можете использовать менеджер пакетов вашей системы. Для Ubuntu/Debian выполните:

    sudo apt-get install xauth

    Для CentOS/RHEL:

    sudo yum install xorg-x11-xauth
  2. Проверка местоположения xauth:
    Убедитесь, что xauth установлен в /usr/bin/xauth или в другом известном пути. Используйте:

    which xauth

    Если xauth установлен в другом месте, вам нужно изменить путь в конфигурационном файле sshd_config.

  3. Настройка конфигурационных файлов:
    В файле /etc/ssh/sshd_config должно быть указано:

    XAuthLocation /usr/bin/xauth

    Также проверьте файл /etc/ssh/ssh_config на наличие параметров, позволяющих использовать X11 перенаправление:

    Host *
       ForwardX11 yes
       XAuthLocation /usr/bin/xauth
  4. Перезапуск службы SSH:
    После внесения изменений в конфигурацию не забудьте перезапустить сервер SSH:

    sudo systemctl restart sshd
  5. Настройки на локальной машине:
    Убедитесь, что у вас также установлен xauth и что SSH-клиент на вашей локальной машине правильно настроен. Например, на macOS Catalina вы можете добавить следующую строку в файл /etc/ssh/ssh_config:

    XAuthLocation /opt/X11/bin/xauth

Заключение

Ошибка "No xauth program" обычно связана с отсутствием или неправильной конфигурацией программы xauth. Убедитесь, что она установлена как на локальной, так и на удаленной машине, и что конфигурационные файлы SSH настроены корректно. Это должно решить проблему и позволить вам успешно использовать X11 перенаправление через SSH.

Оцените материал
Добавить комментарий

Капча загружается...