Я использую SqlYog и PUTTY для подключения к серверу MySQL, сидящему на удаленном сервере. Я могу подключиться к серверу MySQL, расположенному на хосте, к которому я подключаюсь через PUTTY, но я использую PUTTY, чтобы перейти на другой сервер, используя еще два SSH в PUTTY. Как мне подключиться к серверу MySQL третьего хоста SSH ??? Я использую для основного SSH это туннелирование:3306:127.0.0.1:3306 И я подключаюсь к 3306 на локальном хосте на SqlYog ...

1 ответ1

1

Итак, у вас четыре машины. Рабочая станция (ваша отправная точка), а затем сервер A, сервер B и сервер C. Вы можете SSH только к серверу A. Оттуда вы можете получить доступ только к serverB, и MySQL работает на сервере C. С рабочей станции вы хотите подключиться напрямую к MySQl на сервере C?

Давайте рассмотрим это по шагам. Если вы работали с MySQL на сервере В и хотели подключиться к нему с рабочей станции через сервер А, вы бы использовали это с рабочей станции.

ssh -L 127.0.0.1:3306:serverB.example.net:3306 eitan@serverA.example.net

Это открывает соединение с сервером A с вашей рабочей станции. На вашей рабочей станции он прослушивает порт 3306 и отправляет найденные данные по туннелю. Туннель фактически является сервером A, но когда он прибывает, он отправляет его в пункт назначения, который является сервером B (порт 3306).

У вас есть дополнительный прыжок, поэтому вам нужно сначала проложить новый туннель.

Как обычно, подключитесь к серверу A через ssh и создайте туннель прямо к MySQL на сервере C, используя:

ssh -L 127.0.0.1:3306:serverC.example.net:3306 eitan@serverB.example.net

Теперь создайте первую часть туннеля со своей рабочей станции,

ssh -L 127.0.0.1:3306:127.0.0.1:3306 eitan@serverA.example.net

Трафик, отправленный на порт 3306 вашей рабочей станции, теперь направляется на сервер C.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .