цепочка переадресации портов ssh tcp

цепочка переадресации портов ssh tcp

Мне нужно подключиться к серверу БД, который принимает соединения через порт 1521. Я могу получить к нему доступ только с удаленной машины, к которой мне нужно подключиться по SSH.другойшлюз.

т.е. из дома

домой $ ssh пользователь@шлюз

шлюз $ ssh рабочий стол

desktop $ < Теперь у меня есть доступ к порту 1521 на хосте dbserver >

Какие команды мне нужно использовать для этого, чтобы затем подключиться к localhost:1521 на домашнем ПК для подключения к базе данных?

решение1

Два способа объединения:


  1. Подключайтесь издомкшлюз, пересылка localhost:1521надомс помощьюшлюзк .localhost:PORT

  2. Подключайтесь изшлюзкрабочий стол, пересылка наlocalhost:PORTшлюзс помощьюрабочий столк dbserver:1521.

home$ ssh -ftL 1521:localhost:ПОРТшлюз ssh -NLПОРТ:dbserver:1521 рабочий стол

ПОРТможет быть 1521 или любой другой порт.


  1. Подключайтесь издомкшлюз, пересылка наlocalhost:PORTдомс помощьюшлюзк desktop:22.

  2. Подключайтесь издомкрабочий столиспользуя установленный туннель черезшлюз, пересылка localhost:1521надомс помощьюрабочий столк dbserver:1521.

дом$ ssh -fNLПОРТ:desktop:22 шлюз
home$ ssh -fNL 1521:dbserver:1521 -o "HostkeyAlias=desktop" -PПОРТлокальный хост
Теперь можно подключиться к базе данных

( -fNПараметры указывают SSH подключиться, установить туннели, а затем продолжить работу в фоновом режиме.)


Второй метод более полезен, так как он позволяет вам достичьрабочий столнапрямую издом(используя работающий туннель) для всех видов соединений.

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