Mountain Lion ssh -X проблемы

8

Как запустить пересылку Mountain Lion X11 через SSH?

Пример:

ssh -X some@example.com xterm

мой / etc / sshd_config имеет

X11Forwarding yes
#X11DisplayOffset 10
X11UseLocalhost yes

# XAuthLocation added by XQuartz (http://xquartz.macosforge.org)
XAuthLocation /opt/X11/bin/xauth

Перезапустил sshd с

launchctl stop com.openssh.sshd
launchctl start com.openssh.sshd

(и из Настройки -> Совместное использование тоже)

Запустил XQuatrz, а с xterm запускаю

ssh -v -X mrp@192.168.1.17 xterm        #this part not works :)

получил следующее:

debug1: Authentication succeeded (keyboard-interactive).
Authenticated to 192.168.1.17 ([192.168.1.17]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending command: xterm
debug1: Remote: No xauth program; cannot forward with spoofing.
X11 forwarding request failed on channel 0
xterm: Xt error: Can't open display: 
xterm: DISPLAY is not set
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2656, received 2480 bytes, in 0.1 seconds
Bytes per second: sent 29582.4, received 27622.1
debug1: Exit status 1

из Xterm

$ echo $DISPLAY
/tmp/launch-BHtJfJ/org.macosforge.xquartz:0

изменение его :0не помогает

бежит от xterm

$ xauth list
jonatan.local/unix:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2
192.168.1.9:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2
jonatan.local:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2

Есть идеи?

jm666
источник
Не могли бы вы уточнить, какая часть не работает для вас?
скромно
@demure Мой английский недостаточно хорош, я надеялся, что ошибка достаточно ясна. Но хорошо, добавил комментарий к вопросу, чтобы показать, что именно не работает. Точнее, не работает туннелирование X-протокола через ssh по какой-то странной причине. Может быть, Xauth. Спасибо за интерес. :)
jm666

Ответы:

8

Вам нужно открыть XQuartz, перейти к X11НастройкиБезопасность , есть два флажка: отключить первый, включить второй. Перезапустите XQuartz и попробуйте снова. Вам также необходимо определить $DISPLAYпеременную следующим образом:

export DISPLAY=clienthost:0.0
Андреу
источник
Тем временем я обнаружил, что проблема была в другой стороне - не в моей OS X.; В любом случае спасибо +1.
jm666
@ jm666, Андреу У меня та же проблема, и это решение не сработало для меня, # jm66 не могли бы вы поделиться своим опытом в решении этой проблемы.
math137 27.12.14
Что такое clienthost?
Джонатан
1

Не уверен, как это могло произойти, но из источника SSH, откуда приходит сообщение об ошибке:

/* Try to open a socket for the local X server. */
display = getenv("DISPLAY");
if (!display) {
    error("DISPLAY not set.");
    return -1;
}

Это указывает на то, что действительно ssh считает, что переменная вообще не установлена ​​(то есть не деформирована или что-то еще, но отсутствует).

Я не уверен, что SSH действительно изменяет пользовательский контекст, чтобы получить другую среду. Ты можешь попробовать

ssh -vvv ....

(несколько «v»), чтобы получить больше отладочных выходных данных, возможно, это дает подсказку где-то при запуске.

терминальность
источник
вау - хорошая идея, несколько vvv - собираюсь проверить. Спасибо :)
jm666
хорошо, надеюсь, это поможет
Терминальность