
У меня есть проблема, и я прошу вас помочь мне ее решить.
У меня есть два сервера Linux (A, B), запущено перенаправление ssh x11 с A на B (отображается определенное приложение, такое как Firefox, Chrome или ...). На самом деле перенаправление ssh x11 между A и B проходит хорошо, но проблема в том, что я хочу отобразить перенаправленный контент X11 на третьем сервере, который является клиентом MS Windows.
Ms Windows -> Linux A [ssh x11 переадресация] -> Linux B
Есть ли у вас какие-либо идеи?
решение1
Вы можете это сделать, но безопаснее будет перенаправить SSH-соединение.
Убедитесь, что в системе Windows установлен сервер X11. (Возможны варианты Xming, X410, Cygwin/X. К сожалению, WSLg работает не так хорошо, как я ожидал.)
Вариант 1 — подключиться по SSH из W в A (с включенным X11), а затем из A в B (также с включенным X11).
Вариант 2 — подключиться по SSH из W в B с указанием опции «ProxyJump A» (это термин OpenSSH, но теперь PuTTYимеет эквивалент) и, конечно, с включенным X11.
Вариант 3 — включить поддержку сети на сервере X11 W, скопировать куки Xauth (пароль) в файл Xauth на A, установить $DISPLAY на A так, чтобы он ссылался на IP-адрес W, и, наконец, SSH из A в B, как вы это делаете. Это, вероятно, самый буквальный ответ на ваш вопрос, но и самый сложный.
Вариант 4 — включить поддержку сети на сервере X11 W, скопировать файл cookie Xauth вБ, затем подключитесь к BбезПереадресация X11 и установка $DISPLAY наБна адрес W. Это вообще не использует переадресацию SSH X11 – это полностью основано на собственной сетевой поддержке X11.
Варианты 3 и 4 описаны в основном для справки и никогда не должны использоваться в ненадежных сетях. Предположим, что сетевой X11 точно такой же рискованный, как SMBv1 — без шифрования и потенциально с несколькими скрытыми ошибками.