Доступ к базе данных MySQL через туннели SSH

У меня 3 сервера: serverA, serverB а также serverMySQL,

serverMySQL находится за брандмауэром и не может быть доступен serverB,

serverA может получить доступ к обоим serverB а также serverMySQL через SSH.

Есть ли способ настроить туннель SSH, чтобы иметь возможность доступа к базе данных MySQL, расположенной по адресу serverMySQL?

1 ответ

Решение

Если serverB может получить доступ к серверу MySQL (порт 3306, а не SSH), вы должны работать на сервере A:

ssh -L 3306:mysqlServer:3306 serverB

В serverA тогда настройте сервер MySQL как 127.0.0.1:3306

Если только serverB может получить доступ к MySQL через SSH, вам нужно запустить на сервере A:

ssh -L 3306:127.0.0.1:12345 serverB

а затем на сервере B:

ssh -L 12345:127.0.0.1:3306 serverMySQL

12345 - это просто любой порт, который не используется (и более 1024)

Другие вопросы по тегам