создать туннель через сервер через обратный туннель

создать туннель через сервер через обратный туннель

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

  • локальная машина (osx)
  • server1 (centos 7 в дата-центре, порт 22 открыт)
  • server2 (centos 7 закрыт за nat)

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

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

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

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

решение1

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

ssh -L 9999:localhost:2222 root@server1

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

ssh -p 9999 root@localhost

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

Связанный контент