Вопрос: Что означает «Предупреждение: неверная установка переадресации X11 не удалась: данные ключа xauth не сгенерированы» означает, что когда ssh'ing с -X?


Когда я использую ssh -X на моем Mac (работает OS X 10.6.7), чтобы подключиться к моему Ubuntu (11.04), я получаю следующее предупреждение:

Предупреждение: ненадежная пересылка X11   Ошибка установки: данные ключа xauth не   сгенерировано Предупреждение: нет данных xauth;   использование фальшивых данных аутентификации для X11   пересылка.

Есть ли что-то, что я могу сделать, чтобы это предупреждение исчезло? Если нет, могу ли я смело игнорировать его?

Пересылка X11, похоже, работает нормально, хотя я вижу это сообщение:

Xlib: расширение «RANDR» отсутствует   отобразить «localhost: 10.0».

Это связано с предупреждением? (Я предполагаю, что нет. Если это не так, я напишу новый вопрос об этом.)


105
2018-05-25 22:41


Источник


Является ли программа xauth установленной на сервере ubuntu? - slubman
sudo apt-get install xauth говорит мне, что «xauth - это уже самая новая версия», - Daryl Spitzer
Когда вы вошли в систему на сервере ubuntu, каков вывод «which xauth»? - slubman
В самом деле, я думаю, вы должны прочитать это объяснение: mail-archive.com/cygwin-xfree@cygwin.com/msg17927.html ... вы можете игнорировать это предупреждение - slubman
иногда это может быть вызвано проблемами с вашим файлом ~ / .Xauthority. Если вы удалите его, он будет повторно создан при следующем входе в систему. - michael


Ответы:


Любая причина, по которой вы не хотите использовать флаг -Y вместо флага -X?

Проще говоря, разница между -X и -Y заключается в том, что -Y позволяет доверять пересылку X11.


120
2018-02-01 22:02



Нет, я просто не знал о знаке -Y, когда писал этот вопрос. Я считаю, что это оказалось решением. Измените свой ответ, так что это не вопрос (и было бы неплохо, если бы вы кратко объяснили разницу между -Y и -C), и я приму это. - Daryl Spitzer
есть ли случай, когда вы не хотите использовать -Y вместо -X? - Rooster
@Rooster для очень старых систем, где -Y не поддерживается. Я бы сказал, - Petr
Совет по устранению неполадок: Запустите «ssh -vv ...» и найдите строку xauth и любые сообщения об ошибках. Вы можете попробовать запустить строку xauth, которую он показывает напрямую. Для меня мне было нужно что-то вроде «xauth list: 0» (доверенный), а не «xauth -f / tmp / ssh ... list: 0» (недоверенный). Который -Y фиксированный и «ForwardX11Trusted yes» в удаленном хосте / etc / ssh / ssh_config (или ~ / .ssh / config) также исправлен. - Curtis Yallop
Это решение также работало с Cygwin / X. - linux64kb


Если вы придете сюда в 2015 году: даже если все остальное настроено правильно, это также может произойти в Mac OS X 10.10 Yosemite, при использовании ssh -X и запуск версии XQuartz <= 2.7.7. Основная причина - сокеты отображения X11, написанные за пределами пути поиска xauth: issue # 2068 в трекер XQuartz.

Изменить: исправленный XQuartz с тех пор был выпущен на новой домашней странице, xquartz.org, и установка последней версии оттуда (в настоящее время 2.7.9) будет работать вокруг проблемы.


22
2018-05-13 15:09



Спасибо! я имел без понятия что XQuartz I просто загруженный с верхней части страницы XQuartz, на самом деле не является последней версией. - craigds
Стоит отметить, что brew install xquartz в настоящее время устанавливает устаревшую версию 2.7.7. - Martin Cleaver
brew install Caskroom/cask/xquartz должен получить вам последний XQuartz с HomeBrew - Nick


Если вы получаете одно и то же сообщение даже при использовании -Y, xauth программа может отсутствовать на сервере. В Debian-подобных системах вам понадобится xauth пакет. В RedHat-подобных системах вам понадобится xorg-x11-xauth пакет.


14
2017-07-17 08:35





«Неверный» в этом контексте означает, что вы не доверяете соединению. SSH будет использовать дополнительные меры безопасности, чтобы попытаться сделать пересылку X11 более безопасной. «Надежный» означает, что вы полностью уверены, что на удаленном хосте нет доступа к вашим данным Xauth и используйте его для мониторинга ваших нажатий клавиш, например.

Эта терминология на самом деле путала меня в течение многих лет. Я думал, что надежные соединения безопаснее. Но на самом деле это вариант, который вы должны использовать в ситуациях, когда соединение заслуживает доверия, и вы хотите запускать материал без дополнительных мер безопасности, мешающих вам. «Неверный» - это тот, который делает его (несколько) безопаснее иметь дело с ненадежным удаленным хостом.

«Неверное» соединение пытается ограничить то, что черная шляпа может сделать для вас, привлекая расширение безопасности X11 и отключая другие расширения, которые вам (надеюсь) не нужны. Вероятно, поэтому RandR отключен с -X. Нужно ли вам поворачивать свой X-дисплей с удаленного хоста?

Также важно отметить, что «ненадежная» переадресация X11 отключается через определенное время, чтобы вы случайно не оставили ее. После этого новые попытки открыть окна просто потерпят неудачу. Это немного меня несколько раз, прежде чем я прочитал достаточно документов, чтобы понять, что происходит.


10
2018-02-17 17:36





У меня нет настройки, которая может проявлять это поведение, так что это выстрел в темноте:

Предупреждение может быть подавлено, если вы установите ForwardX11Trusted в "no" для хостов, которые дают это предупреждение. Вы можете поместить это в ~/.ssh/config или /etc/ssh/ssh_config, и вы можете сделать опцию конкретной для конкретного хоста, включив Host <hostname> на линии выше. <hostname> компонент соответствует тому, что вы вводите в командной строке (а не разрешенному имени хоста), и может содержать подстановочные знаки.


8
2018-06-13 20:03



Можно использовать ssh -Y сделать надежную пересылку X11, но как можно зафиксировать ненадежную? - Pavel Šimerda
Я получил ту же ошибку в Redhat, и теперь я могу ее решить, отредактировав файл конфигурации /etc/ssh/ssh_config на стороне клиента. спасибо - Gangadhar Jannu


При установке xauth не работает правильно, один особенно неприятный случай может быть поврежден .Xauthority файл. Этот конкретный случай позволял некоторым X-клиентам работать, но не другим, с большей тенденцией к сбою с новыми дисплеями. Удаление и повторное создание .Xauthority файл может решить эту проблему.


5
2017-08-01 17:43





Исправить проблемы на стороне сервера

Во-первых, вы должны исключать любые проблемы на стороне сервера. Можете ли вы ssh -X от любого другого хозяина успешно? Есть ли ssh -Y работать, пока ssh -X не делает? В любом случае предположим, что ssh + X11 настроен правильно на вашем сервере и перейдет к следующему разделу.

Если вы не можете проверить, что (скажем, у вас есть только один ноутбук под управлением X11), вы можете ssh от сервера к себе, используя поддельный сеанс:

  1. export DISPLAY=:44 # (Оболочка Борна) или
    setenv DISPLAY :44 # (csh / tcsh)
  2. xauth add $DISPLAY MIT-MAGIC-COOKIE-1 1234  # Bogus cookie только для этого теста
  3. ssh -X localhost env |grep DISPLAY

Ожидаемый результат: должна быть переменная DISPLAY, установленная на удаленном конце сеанса ssh-to-self. Если вы не получите результата, ваш сервер, скорее всего, неправильно настроен (например, библиотеки X11 и / или xauth команда может отсутствовать; или конфигурация sshd может быть настроена на отказ в доступе X11)

На Mac: проверьте, что Xquartz обновлен

Согласно Будет ли ответ Англи

исследовать ssh -vv -X вывод

Сообщение об ошибке, которое вы цитируете, является симптомом, который может иметь много причин. Повторите попытку ssh -X -vv удаленный узел, что должно дать дополнительные сведения о том, почему туннельная установка X11 не удалась.

Вы видите следующее сообщение?

debug1: нет программы xauth.
Если так,

  1. Обратите внимание, где в вашей клиентской системе xauth команда:
    который xauth
  2. Добавьте в конце своей ~ / .ssh / config следующее (и добавьте комментарий, чтобы напомнить себе, чтобы сохранить его там в будущем):
    Хост *
        XAuthLocation / opt / X11 / bin / xauth
    
    Отрегулируйте этот путь в соответствии с выводами шага 1 - Кредиты для Ян-Виллема Арнольда

4
2017-08-18 16:34