Туннель SSH X через не - X сервер

странная вариация стандартного вопроса "туннель с несколькими прыжками".

Я работаю удаленно в минуту, но у меня есть несколько "входящих" автоматических обратных оболочек, подключающихся к выделенному серверу. Это выделенный сервер не есть X, но некоторые из "входящих" серверов оболочки.

в основном, три машины, ноутбук, сервер, клиент. Ноутбук и клиент имеют X, сервер нет. Все три машины имеют логины друг к другу без пароля (ноутбук > сервер, сервер > клиент)и может без пароля установить оболочку.

Я пробовал ssh -X user@server "ssh -X user@client gui-application" и, не удивительно, я получаю" не удается открыть дисплей " сообщения.

кто-нибудь знает, что я хороший один лайнер для такого рода туннелирования?

29
задан Andrew Bolster
20.02.2023 17:47 Количество просмотров материала 2408
Распечатать страницу

3 ответа

ваша команда действительно работает для меня, поэтому я не думаю, что вам нужно делать что-то совсем другое. Тем не менее, я обнаружил, что он работал намного быстрее, если я использовал -t опция на первом ssh:

ssh -tX user@server "ssh -X user@client gui-application"

это, кажется, что-то делать с ssh-agent и просит пароль, в моем случае, так как мои ключи SSH защищены паролями. Однако, возможно, это поможет и в вашем случае.

Я также пробовал добавлять -A (экспедитор) на обеих СШ команды, и это тоже сработало, хотя и с задержкой в несколько секунд (не знаю почему). Это придумало диалог пароля GUI для ключа для перехода от "сервера"до " клиента".

помните, что ssh с командой не использует .profile на удаленной машине, поэтому, если вы полагаетесь на настройки оттуда, это не будет работать, хотя вы, вероятно, могли бы запустить его явно с:

ssh -tX user@server ". .profile; ssh -X user@client gui-application"
3
отвечен Neil Mayhew 2023-02-22 01:35

похоже, что ваш сервер не позволяет X Установите 'X11Forwarding yes' в /etc/ssh / sshd_config вашего hop сервера (также не забудьте перезапустить sshd после изменения настроек.

1
отвечен alpapan 2023-02-22 03:52

попробуйте пробить прямо через первый прыжок:

ssh -N -L 9999:client:22 user@server
ssh -p 9999 -X user@localhost gui-application

первая команда перенаправит локальный порт 9999 на порт SSH клиента. Оставьте эту команду запущенной - она не будет производить вывод после входа в систему. Вторая команда SSH на локальный порт 9999, который фактически "клиент" порт SSH и запуска GUI.

пострелять.

0
отвечен Borealid 2023-02-22 06:09

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх