ssh с X11 от A до C через B, если пересылка X11 отключена на B

586
José Luiz Ferreira

Мне нужно подключиться через sshкомпьютер «C», доступ к которому возможен только через сервер «B». Я могу сделать это, установив ProxyCommandв файле конфигурации или:

ssh -t user@B ssh user@C 

В компьютере «C» X11 переадресация на, но на сервере «B» он выключен, и я не админ / корень.

Есть ли способ соединить «A» с «C» (через «B») с переадресацией X11, даже если он выключен в «B»?

4

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

2
ivanivan

Туннель ssh решил бы эту проблему, предоставив «прямой» маршрут от вашего компьютера к серверу C, но вам нужно иметь возможность войти на сервер B ...

user@serverA:~/ $ ssh -L2222:serverC:22 user@serverB 

Войдите в систему как обычно, откройте новый терминал и

user@serverA:~/ $ ssh -p 2222 serverCusername@localhost 

Когда вы подключаетесь к порту 2222 на вашем локальном хосте (то есть, serverA), ваше соединение проходит через ваше SSH-соединение с serverB, после чего оно открывает новый случайный высокий порт на serverB и обращается как новое соединение, исходящее от serverB и пытается подключиться к серверуC

В первой команде ssh, когда вы ссылаетесь на serverC, используйте любое имя / ip, которое serverB видит как / может разрешить / может подключиться

+1 от меня, форма переадресации портов, которую вы использовали, редко упоминается на этих страницах, хотя она очень полезна (как в ** этом ** случае !!). MariusMatutiae 6 лет назад 0
0
Jakuje

Очевидно, что вы можете подключиться с помощью прокси-сервера с помощью этого метода, но предпочтительный способ - настроить его с помощью ProxyJumpили -Jпереключателя, что приведет к аутентификации на вашем компьютере, а не на среднем, и не ограничит какие-либо функции, предоставляемые SSH ( переадресация портов, переадресация X11, ...). Вы можете достичь того же, используя

ssh -J user@B user@C 

Который также может быть записан в файле конфигурации как

Host C User user ProxyJump user@B 

Или, если у вас более старая версия OpenSSH, используйте ProxyCommand:

Host C User user ProxyCommand ssh -W %H:%p user@B 

а затем подключиться только с ssh -Y C

Похожие вопросы