Android

Как подключиться к mysql через ssh туннель

Ð§ÐµÑ ÐºÐ°Ñ Ð ÐµÐ·Ð³Ð¸Ð½ÐºÐ° Ð ÐµÐ²Ñ Ñ ÐºÐ° ÐºÐ»Ð°Ñ Ñ Ð½Ð¾ Ñ Ð°Ð½Ñ Ñ ÐµÑ !

Ð§ÐµÑ ÐºÐ°Ñ Ð ÐµÐ·Ð³Ð¸Ð½ÐºÐ° Ð ÐµÐ²Ñ Ñ ÐºÐ° ÐºÐ»Ð°Ñ Ñ Ð½Ð¾ Ñ Ð°Ð½Ñ Ñ ÐµÑ !

Оглавление:

Anonim

По умолчанию сервер MySQL прослушивает только локальный хост, а это значит, что к нему могут обращаться только приложения, работающие на одном хосте.

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

Более безопасной альтернативой было бы создание SSH-туннеля от локальной системы до сервера. Туннелирование SSH - это метод создания зашифрованного соединения SSH между клиентом и сервером, через который можно ретранслировать сервисные порты.

В этом руководстве мы объясним, как создать SSH-туннель и подключиться к серверу MySQL из удаленных клиентов. То же самое относится и к MariaDB.

Предпосылки

  • SSH Client.SSH доступ к системе, в которой работает сервер MySQL.

Создайте SSH-туннель в Linux и MacOS

Клиент ssh предустановлен на большинстве систем Linux и Unix.

ssh -N -L 3336:127.0.0.1:3306 @

Используются следующие параметры:

  • -N - Указывает SSH не выполнять удаленную команду. -L 3336:127.0.0.1:3306 - Создает переадресацию локального порта. Локальный порт ( 3306 ), IP-адрес назначения ( 127.0.0.1 ) и удаленный порт ( 3306 ) разделяются двоеточием (:). @ - Удаленный пользователь SSH и IP-адрес сервера. Чтобы запустить команду в фоновом режиме, используйте параметр -f Если сервер SSH прослушивает порт, отличный от 22 (по умолчанию), укажите порт с параметром -p .

После запуска команды вам будет предложено ввести пароль пользователя SSH. После входа вы будете авторизованы на сервере, и SSH-туннель будет установлен. Рекомендуется настроить аутентификацию на основе ключей SSH и подключиться к серверу без ввода пароля.

Теперь вы можете указать клиенту MySQL на локальном компьютере 127.0.0.1:3336 ввести учетные данные для входа в удаленную базу данных и получить доступ к серверу MySQL.

Например, чтобы подключиться к серверу MySQL с помощью клиента командной строки mysql вы должны выполнить:

mysql -u MYSQL_USER -p -h 127.0.0.1

Где MYSQL_USER - удаленный пользователь MySQL, имеющий права доступа к базе данных.

При появлении запроса введите пароль пользователя MySQL.

Чтобы завершить туннель SSH, введите CTRL+C в консоли, где работает клиент ssh.

Создайте SSH-туннель в Windows

Пользователи Windows должны сначала загрузить и установить клиентскую программу SSH. Самый популярный SSH-клиент для Windows - это PuTTY. Вы можете скачать PuTTY здесь.

Выполните следующие шаги для создания туннеля SSH к серверу MySQL с PuTTY:

  1. Запустите Putty и введите IP-адрес сервера в поле Host name (or IP address) :

    Вывод

    MySQL, самый популярный сервер баз данных с открытым исходным кодом, прослушивает входящие соединения только на локальном хосте. Создание туннеля SSH позволяет безопасно подключаться к удаленному серверу MySQL с локального клиента.

    mysql mariadb ssh