Доступ к базе данных 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)