Есть 3 компьютера:

  • локальная машина (osx)
  • server1 (centos 7 на порте 22 центра обработки данных открыт)
  • server2 (сентос 7 закрыт за нат)

server2 поддерживает обратный туннель к server1 через порт 2222. Запуск ssh localhost -p 2222 на сервере server1 напрямую переходит в командную строку server2

Каков наилучший способ настроить туннель с локального компьютера через сервер1 на сервер2? Например, можно инициировать туннель с локального хоста на сервер1, используя ssh -D 5000 -N root@server1 .

Как сделать дополнительный прыжок и пройти туннель от локального хоста до server1 и server2? Я пробовал подобные вещи ssh -L 5000:localhost:5000 root@server1 ssh -L 5000:server2:2222 -N root@localhost но это не сработало

например, localhost -5000-> server1 -2222-> server2

1 ответ1

1

Сделав обратный туннель, вы привязали localhost:2222 на server1 к server2. Я бы порекомендовал вам теперь сделать туннель на некотором номере порта вашей локальной машины osx до server1 (я выбрал 9999 в этом примере), просто чтобы получить доступ к обратному туннелю, который вы создали ранее, т.е.

ssh -L 9999:localhost:2222 root@server1

Оставьте это открытым, чтобы ваш двойной переход на сервер2 был готов к использованию. Далее в отдельном терминале вы сможете сделать

ssh -p 9999 root@localhost

и получить доступ к server2. По соображениям безопасности я бы рекомендовал не использовать root для SSH-соединений.

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