Ответ 1
В macOS Sierra мне теперь нужно сделать ssh -Y
вместо ssh -X
, чтобы получить отображение с Linux-машины для работы на моем Mac.
Привет, у меня проблема с отправкой ssh X на работу. Установкой является то, что я ssh
подключился к моей ubuntu VM с хост-машины OSX Yosemite.
Я уже установил xQuartz на OSX, xauth на ubuntu, и я считаю, что у меня есть все правильные параметры, установленные в файлах ssh_config.
Я получаю
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
X11 forwarding request failed on channel 0
при открытии соединения с ssh -X
, и когда я попытался запустить приложение X:
xterm: Xt error: Can't open display:
xterm: DISPLAY is not set
У меня есть идентичная настройка на моей другой машине, кроме запуска Mavericks, и она отлично работает, есть ли что-то конкретное для Yosemite, о котором я должен беспокоиться?
В macOS Sierra мне теперь нужно сделать ssh -Y
вместо ssh -X
, чтобы получить отображение с Linux-машины для работы на моем Mac.
Обратите внимание, что некоторые неполные ответы могут привести к недостаткам безопасности.
/usr/X11R6/bin
, а в macOS с XQuartz он находится в /opt/X11/binБезопасное решение:
Включите первую опцию на вкладке "Безопасность" настроек (Cmd-,), которая разрешает аутентифицированные соединения.
Отредактируйте ~/.ssh/config
, добавьте XAuthLocation /opt/X11/bin/xauth
в конфигурацию хоста.
ssh -X your_server
работает в защищенном режиме.
Убедитесь, что xauth установлен на хосте назначения.
Я получил то же предупреждение, что и после обновления до Йосемити.
После добавления ForwardX11Trusted yes
в файл ~/.ssh/config
предупреждение исчезло.
У вас есть следующие строки в вашем файле ~/.ssh/config
для включения перенаправления Trusted X11?
Host APPROPRIATE_HOSTNAME
ForwardX11Trusted yes
ForwardX11 yes
OTHER_OPTIONS
У меня уже установлен новейший XQuartz 2.7.11, но я думаю, что с тех пор я также обновил ОС. Я переустановил XQuartz 2.7.11, и теперь он работает нормально.
Жиль Гуаиллардет имеет ответ, который решил это для меня. Отредактируйте ~/.ssh/config, чтобы он содержал
Host *
XAuthLocation /opt/X11/bin/xauth
и ssh -X hostname теперь работает (XQuartz 2.7.11, macOS 10.4 Mojave)
ForwardX11Trusted требуется даже для соединений, которые, как вы считаете, не доверяют, когда ваш сервер X не имеет расширения SECURITY (у серверов Apple есть тонна визуальных эффектов, которые занимают более 100 строк, поэтому я предлагаю "xdpyinfo | grep SECURITY", чтобы проверить, если это не возвращает результат, у вас его нет). Могут быть другие причины и исключения, но это сработало для меня.
Я только что загрузил последнюю версию X11, и она снова работала
При входе в кластер не используйте опции -X или -Y.
Пример:
ssh -Y remotelogin: gives me X11 related warning.
ssh remotelogin: нет предупреждений, отлично работает.