4

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

ssh -t user@B ssh user@C

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

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

2 ответа2

2

Туннель 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 видит как / может разрешить / может подключиться

0

Очевидно, что вы можете подключиться с помощью прокси-сервера с помощью этого метода, но предпочтительный способ - настроить его с помощью переключателя 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .