
Мне нужно подключиться к серверу БД, который принимает соединения через порт 1521. Я могу получить к нему доступ только с удаленной машины, к которой мне нужно подключиться по SSH.другойшлюз.
т.е. из дома
домой $ ssh пользователь@шлюз
шлюз $ ssh рабочий стол
desktop $ < Теперь у меня есть доступ к порту 1521 на хосте dbserver >
Какие команды мне нужно использовать для этого, чтобы затем подключиться к localhost:1521 на домашнем ПК для подключения к базе данных?
решение1
Два способа объединения:
Подключайтесь издомкшлюз, пересылка
localhost:1521
надомс помощьюшлюзк .localhost:PORT
Подключайтесь изшлюзкрабочий стол, пересылка на
localhost:PORT
шлюзс помощьюрабочий столкdbserver:1521
.
home$ ssh -ftL 1521:localhost:ПОРТшлюз ssh -NLПОРТ:dbserver:1521 рабочий стол
ПОРТможет быть 1521 или любой другой порт.
Подключайтесь издомкшлюз, пересылка на
localhost:PORT
домс помощьюшлюзкdesktop:22
.Подключайтесь издомкрабочий столиспользуя установленный туннель черезшлюз, пересылка
localhost:1521
надомс помощьюрабочий столкdbserver:1521
.
дом$ ssh -fNLПОРТ:desktop:22 шлюз home$ ssh -fNL 1521:dbserver:1521 -o "HostkeyAlias=desktop" -PПОРТлокальный хост Теперь можно подключиться к базе данных
( -fN
Параметры указывают SSH подключиться, установить туннели, а затем продолжить работу в фоновом режиме.)
Второй метод более полезен, так как он позволяет вам достичьрабочий столнапрямую издом(используя работающий туннель) для всех видов соединений.