У меня есть хосты A, B и C. С хоста AI можно получить доступ только через ssh B. Из BI можно получить доступ к C. Я хочу иметь возможность запускать программы X11 на C и перенаправлять отображение на A.
Я попробовал это:
A $ ssh -XB B $ ssh -XC C $ xclock Ошибка: не удается открыть дисплей:
Но это не работает.
Это легко сделать с помощью переадресации портов:
Порт localhost: 2022 перенаправляется на C: 22 через B SSH на C через localhost: 2022 Используйте X как обычно
источник
Предполагая, что проблема заключается в том, что на средней машине нет X, но в остальном он настроен на пересылку X11, просто установите xauth.
в системе на основе yum (fedora, redhat, centos):
в системе на основе apt (debian, ubuntu):
источник
yum
пи?Для новых версий opensshd вы должны отключить,
X11UseLocalhost
чтобы это работало.Вам нужно сделать это на хосте C
/etc/ssh/sshd_config
и перезапустить sshd, чтобы это работало:источник
Вы не можете переслать отображение X11, если у вас отключен X11Forwarding в любом используемом sshd.
man sshd_config:
Вы должны убедиться, что X11Forwarding включен в пункте назначения и во всех промежуточных sshds, которые вы используете.
Небольшая подсказка: вы должны попытаться использовать VNC, переадресация дисплея X11 требует довольно большой полосы пропускания.
источник
yes
".Если вы часто переходите от A к C, вы можете настроить B как прокси:
A:~/.ssh/config
:тогда это просто
источник
Вы пробовали с
Флаг -Y «Включает доверенную пересылку X11».
источник