SSH-туннелирование для локального соединения с базой данных MySQL

Подробности статьи
Ссылка: https://support.ihc.ru/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=111
Cтатья №: 111
Создано: 29.10.2010 17:41

Ответ Туннель занимается тем, что перенаправляет внешние запросы на нужный порт 3306 localhost(локальный ПК).

При помощи SSH клиента Putty это делается так:

Создаем новое соединение:

* Host Name (or IP address) указываем IP   адрес сервера, или имя хоста р(номер_заказа).ftp.ihc.ru

* Port: 22

* Protocol: SSH


Далее переходим в закладку Connection > SSH > Tunnels, как показано на следующем рисунке, используя данные параметры для подключения:

* Source Port: 3306 — порт для локального подключения после установки туннеля.

* Destination: Local — указываем явным образом, что подключение будет осуществляться на локальный порт, указанный выше.

* Destination: р(номер_заказа).mysql.ihc.ru:3306 — хост, с которым будет осуществляться туннелирование по определенному порту (3306 — стандартно для MySQL).


Теперь необходимо добавить настройки, нажимаем Add как показано на рисунке ниже:

Настройка закончена, переходим в первое меню Session, как на рисунке 1, и нажимаем кнопку Open , соединяемся по SSH и вводим как обычно логин и пароль (данные совпадают с FTP).

Теперь для соединения с БД Вам нужно обращаться к 127.0.0.1:3306 , Ваши запросы будут переадресовываться порту 3306 на mysql.ihc.ru сервер.

Внимание: если на вашем компьютере уже работает сервер баз данных MySQL, подключение удаленному серверу по порту 3306 будет невозможно. В этом случае при создании подключения в putty укажите другой порт в качестве "Source port", например, 3307. Используйте этот порт при подключении к базе данных.