Удаленное подключение к MySQL-серверу на нашем виртуальном хостинге запрещено, но есть более безопасный способ подключения — это использовать SSH (Secure SHell) для шифрования данных между клиентом и сервером. Такой способ общения называется SSH-туннелирование, или проброс портов. Созданный SSH-туннель перенаправит и зашифрует соединение с порта на локальном компьютере на удаленный MySQL-сервер. В статье рассмотрим варианты подключения с Windows и MacOS.
Как пробросить порт на Windows
1. Открыть на своем ПК SSH-клиент (скачать его можно тут).
2. Перейти в Connection->SSH->Tunnels.
3. Ввести номер порта Source Port (для MySQL это 3306) и точку соединения Destination в формате домен:порт (в данном случае это может быть localhost:3306) и нажать кнопку Add:
4. Перейти в раздел Session и указать детали доступа к серверу, а именно: Host name **shared.servers.net и Port 21098 и нажать кнопку «Open». Вместо **shared.servers.net укажите название сервера, где находится ваш cPanel-аккаунт. Название сервера присутствует в ссылке, по которой вы осуществляете вход в cPanel, а еще в письме о создании хостинговой учетной записи.
5. Чтобы не выполнять эти действия каждый раз при установлении SSH-соединения, можно сохранить введенную информацию, дав имя сессии подключения и сохранив ее название (кнопка «Save»).
6. Откроется консоль, в которой нужно ввести ваш логин и пароль (это данные доступа от cPanel). После того, как соединение установится, Вы увидите приглашение для ввода команд. Если Вы раньше не пользовались Putty, сначала может показаться странным способ вставки текста в программу. Вместо Ctrl+C нужно использовать просто правую клавишу мыши. Текст паролей никогда не отображается в целях безопасности.
7. Теперь можно подключаться к серверу MySQL, указав в вашем MySQL-клиенте в качестве сервера localhost, а в качестве порта 3306.
Как пробросить порт с MacOS
Запускаем консоль. Консоль можно найти через Spotlight. Для этого нажмите сочетание клавиш <Ctrl> и <Пробел>. Введите Терминал и нажмите Enter.
В консоли пишем одну из команд, в зависимости от пользователя:
а) если подключение из-под root-пользователя:
ssh username@**shared.servers.net -L localhost:3306:localhost:3306 -p21098
б) если подключение не из-под привилегированного пользователя:
ssh username@**shared.servers.net -L localhost:13306:localhost:3306 -p21098
username — это имя пользователя cPanel, а **shared.servers.net — это название сервера, где находится ваш cPanel-аккаунт. Название сервера присутствует в ссылке, по которой вы осуществляете вход в cPanel, а еще в письме о создании хостинговой учетной записи. В качестве деталей входа нужно использовать логин и пароль от cPanel.
После того, как соединение установится и Вы увидите приглашение для ввода команд, Вы сможете подключиться к серверу MySQL, указав в MySQL-клиенте в качестве сервера localhost, а в качестве порта 3306.