Назад | Перейти на главную страницу

Перенаправление портов с помощью ssh в Linux

У меня есть сервер базы данных, назовем его:

dbserver

У меня есть веб-сервер с доступом к моему dbserver, назовем его:

веб сервер

У меня есть машина для разработки, которую я хотел бы использовать для доступа к базе данных на dbserver, назовем это:

разработчик

dbserver имеет правило брандмауэра, разрешающее TCP-запросы от веб сервер к dbserver: 1433

Я хочу создать туннель из dev: 1433 к dbserver: 1433, поэтому все запросы на 1433 по разработчик передаются dbserver: 1433

Мой sshd_config включен веб сервер имеет следующие правила:

AllowTcpForwarding yes
GatewayPorts yes

Это то, что я пробовал (из разработчик):

ssh -v -L localhost:1433:dbserver:1433 webserver

В другом терминале (тоже из разработчик):

telnet localhost 1433

Результаты в:

Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

Есть идеи, что я здесь делаю не так? Заранее спасибо!

Вот решение, которое я нашел:

ssh -v -L 1433:dbserver:1433 webserver -f -N
telnet localhost 1433

Соединяет меня.

ssh -v -L 1433:localhost:1433 webserver