Откройте приложение X, пройдя через множество циклов (SSH, vpn и т. Д.)

2042
tzot

Игроки:

  • мой домашний компьютер под управлением Linux с запущенным X-сервером. (Назовите это ГЛАВНАЯ.)
  • удаленный сайт, к которому я могу подключиться через Интернет с помощью VPN. (SITE)
  • компьютер Linux на удаленном сайте, к которому я могу подключиться ssh -X и у меня есть X-клиенты, отображаемые на моем локальном сервере. (Средний)
  • очень старая машина Irix (Onyx) на удаленном сайте, у которой нет SSH-сервера (поэтому я не могу ssh -Xк ней), только ssh клиент . (ОНИКС)

Цель

Мне нужно запустить приложение X11 на машине ONYX и увидеть GUI на HOME. Я думаю, что я сталкиваюсь с xauthпроблемами. Обратите внимание, что я попробовал очевидное: я установил DISPLAY на $ip_address_of_HOME_in_the_SITE_VPN:0, но VPN-сервер не перенаправляет попытки подключения своим клиентам, возможно, по соображениям безопасности.

До сих пор

Текущая ситуация:

  • ☑ ДОМ подключается к САЙТУ
  • V vncserver запускается в середине: 7
  • N vncviewer на HOME подключается к vncserver на MIDDLE
  • ☑ ONYX начинает сеанс пересылки ssh в MIDDLE:
    ssh -TfN -L 6007:127.0.0.1:6007 MIDDLE
  • ON DISPLAY=localhost:7 xclientна ONYX происходит сбой с
    Xlib: соединение с «127.0.0.1:7.0» отклонено сервером

Я знаю, что пересылка (6007: 127.0.0.1: 6007) завершается успешно.

Предыдущая попытка была:

  • ☑ ДОМ подключается к САЙТУ
  • ☑ HOME подключается к MIDDLE:
    ssh -X MIDDLE(xclock отображается на HOME, DISPLAY - 127.0.0.1:10)
  • ☑ ONYX запускает SSH-туннель в MIDDLE: ssh -TfN -L 6010:127.0.0.1:6010 MIDDLE
  • DISPLAY=127.0.0.1:10 xclientне удается с
    подключением X к 127.0.0.1:10.0 прервано (явное уничтожение или отключение сервера).
    в то время как в сеансе MIDDLE появляется ошибка:
    соединение X11 отклонено из-за неправильной аутентификации.

отчаиваться

Как я могу достичь своей цели?

0
Я попытался запустить `xauth` на ONYX, а затем` сгенерировать 127.0.0.1:10. trust` (во втором случае выше), но у меня такая же двойная ошибка (одна на ONYX, другая на MIDDLE). tzot 14 лет назад 0

3 ответа на вопрос

0
Ignacio Vazquez-Abrams

XDMCP . Сконфигурируйте ONYX для приема подключений XDMCP, затем установите SSH-туннель из HOME в MIDDLE. Подключитесь Xnestили Xephyrк локальному концу туннеля SSH и войдите в ONYX.

Я попытаюсь прочитать больше о Xnest и Xephyr, потому что у меня нет опыта с ними. Я не уверен, как должен быть установлен туннель от ДОМА до СРЕДНЕГО. Кроме того, если я сконфигурирую ONYX для приема подключений XDMCP, не будет ли это означать, что на графической консоли ONYX я могу подключаться к другим системам (то есть противоположно тому, что я хочу)? tzot 14 лет назад 0
Честно говоря, я не помню всех деталей. Прошло так много времени с тех пор, как я на самом деле имел дело с XDMCP. Ignacio Vazquez-Abrams 14 лет назад 0
0
tzot

Мне удалось найти решение, используя прямые SSH-туннели (без опции -X), плюс некоторая xauthпутаница:

  • ДОМ подключается к САЙТУ, телнет к ONYX
  • HOME SSH туннель в СРЕДНЕЕ:
    ssh -TfN -R 6010:127.0.0.1:6000 MIDDLE
  • ONYX SSH туннель в СРЕДНИЙ:
    ssh -TfN -L 6010:127.0.0.1:6010 MIDDLE
  • ГЛАВНАЯ xauth nextract - $DISPLAYи скопируйте вывод
  • ONYX xauth nmerge -и вставь предыдущий вывод
  • ОНИКС DISPLAY=127.0.0.1:10 xclientуспешен :)
-1
mpez0

Вы не можете использовать DISPLAY локального хоста (127.0.0.1) для X-клиента, работающего в окне ONYX, для отображения в окне HOME. Вам нужен HOME IP-адрес или имя хоста.

-1: Боюсь, ты не заметил туннелей SSH. Кроме того, я уже пытался установить для DISPLAY значение IP_OF_HOME_THRU_VPN_ON_REMOTE_SITE: 0, но сервер VPN не перенаправляет подключения * к * клиентам VPN, только * из *. tzot 14 лет назад 0
На самом деле, я заметил туннели. Я не видел причин для их необходимости. В любом случае, localhost как переменная DISPLAY для хоста без запущенного X-сервера неверен. mpez0 14 лет назад 0
`localhost` в переменной окружения DISPLAY подразумевает соединение TCP / IP; имя хоста вообще не подразумевает локальный сокет UNIX. Учитывая, что существует много способов пересылки сокетов TCP / IP на удаленные машины (например, с помощью туннелей ssh, которые работали здесь; см. Мой ответ), что вы подразумеваете под последней частью вашего комментария, «localhost как переменная DISPLAY для хост без X-сервера работает некорректно. »? Потому что реальность опровергает то, что вы говорите, поэтому она сама по себе неверна. tzot 14 лет назад 0