ISPmanager: удалённый доступ к базе данных через SSH-туннель

Опубликовано: 17.09.2026
Обновлено: 18.09.2026

Если база данных размещена на сервере, напрямую подключиться к ней с компьютера можно не всегда. Например, доступ к порту может быть закрыт для внешних подключений в целях безопасности. SSH-туннель создаёт зашифрованный канал между компьютером и сервером, через который передаётся соединение с базой данных.

Простыми словами, SSH-туннель — это защищённое соединение между компьютером и сервером, через которое можно передавать данные к сервису, недоступному из сети напрямую.

Когда нужен удалённый доступ через SSH-туннель?

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

Например:

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

Преимущества и особенности подключения через SSH-туннель

1. Безопасность

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

2. Простота подключения

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

3. Свободный локальный порт

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

4. Белорусский IP-адрес

SSH-доступ к серверу разрешён только с белорусских IP-адресов. Если VPN меняет ваш IP-адрес на адрес другой страны, подключение будет отклонено. В этом случае отключите VPN или используйте подключение с разрешённым IP-адресом.

Как настроить SSH-туннель в Windows?

Шаг 1. Для начала необходимо создать пару SSH-ключей — они используются для подтверждения личности пользователя. Закрытый (приватный) ключ остаётся у вас на компьютере, и его нельзя никому передавать. Открытый (публичный) ключ нужен для доступа к серверу.

Команды выполняются в командной строке Windows на вашем компьютере. Для генерации SSH-ключа используйте следующую (вместо выделенного текста подставьте ваш e-mail):

ssh-keygen -t ed25519 -C "your_email@example.com"

Нажмите Enter.

Создание пары SSH-ключей с помощью команды в командной строке Windows: шаг 1

Шаг 2. Далее система спросит, куда сохранить ключ: Enter file in which to save the key. А также предложит стандартный вариант: C:\Users\имя_пользователя\.ssh\id_ed25519. Можете оставить этот путь. Нажмите Enter.

Создание пары SSH-ключей с помощью команды в командной строке Windows: шаг 2

Шаг 3. Далее появится сообщение: Enter passphrase (empty for no passphrase) — придумайте парольную фразу (можно оставить поле пустым). Нажмите Enter. Система попросит подтверждение: Enter same passphrase again — введите ту же фразу ещё раз. Снова нажмите Enter.

Важно: в целях безопасности рекомендуем указать парольную фразу и сохранить её в надёжном месте.
Создание пары SSH-ключей с помощью команды в командной строке Windows: шаг 3

Если появилось сообщение Your public key has been saved in … (Ваш публичный ключ сохранён в …), а также отпечаток ключа и его графическое представление, значит вы всё сделали правильно.

Перейдите в папку Users (Пользователи) на диске С, далее в папку с именем пользователя. В ней появится каталог .ssh, который будет содержать пару ключей.

Пара SSH-ключей в папке .ssh на диске C

Шаг 4. Войдите в панель управления ISPmanager. Перейдите в раздел «Менеджер файлов». В домашней директории пользователя найдите папку .ssh и откройте её.

Папка .ssh в файловом менеджере ISPmanager

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

Создание файла authorized_keys в ISPmanager

Публичный ключ можно посмотреть в файле id_ed25519.pub на вашем устройстве. Скопируйте и вставьте его в файл. Нажмите «Сохранить и закрыть».

Добавление публичного SSH-ключа в файл authorized_keys

Шаг 5. Теперь можно подключать туннель. Вернитесь в командную строку. Команда для подключения:

ssh -fN -L 3306:localhost:3306 имя_пользователя_ispmanager@ip-адрес_сервера,

где первое значение — локальный порт на компьютере, а второе — порт MySQL на сервере (в примере используется стандартный — 3306).

Важно: если вы сохранили ключи в папке, отличающейся от стандартной, добавьте к команде параметр -i и путь к закрытому ключу: ssh -i /путь/к/ключу -fN -L 3306:localhost:3306 имя_пользователя_ispmanager@ip-адрес_сервера.

Нажмите Enter. При первом подключении SSH может показать сообщение о том, что подлинность сервера не подтверждена, и попросить продолжить подключение. Введите yes и снова нажмите Enter.

Подключение к SSH-туннелю с помощью команды в командной строке Windows

Шаг 6. После запуска команды может не появиться никаких сообщений. Это нормально: команда запускает SSH-туннель и не открывает отдельную сессию командной строки.

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

netstat -ano | findstr :3306

Её лучше ввести в новом окне командной строки:

Проверка, работает ли SSH-туннель, с помощью команды в командной строке Windows

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

Как настроить SSH-туннель в Linux?

Настройка SSH-туннеля в Linux выполняется по тому же принципу, что и в Windows. Отличаются только отдельные команды для работы в терминале.

Шаги 1–5 аналогичны тем, что мы описали выше:

  1. создайте пару SSH-ключей;
  2. укажите путь для сохранения;
  3. придумайте парольную фразу;
  4. добавьте публичный ключ на сервер в ISPmanager;
  5. запустите SSH-туннель.

Для проверки подключения в Linux необходимо будет выполнить другую команду:

ss -tlnp | grep 3306

Если туннель запущен, в результате появится строка с локальным портом 3306 и состоянием LISTEN. Это означает, что порт прослушивается и SSH-туннель работает.

Проверка, работает ли SSH-туннель, в терминале Linux

Как подключиться к базе данных через SSH-туннель?

Необходимо ввести следующие данные в программе-клиенте:

  • Хост: localhost
  • Порт: 3306
  • Имя базы данных: имя вашей БД
  • Логин: имя пользователя БД
  • Пароль: пароль пользователя БД

Важно: для подключения к базе данных используются учётные данные пользователя БД, а не логин и пароль от ISPmanager или SSH.

Вывод

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

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

Читайте также:


Частые вопросы

Да. В этом и заключается одно из основных преимуществ SSH-туннеля: база данных может оставаться недоступной для прямых внешних подключений, а соединение с ней передаётся через SSH.
Проверьте SSH-доступ к серверу, правильность имени пользователя и IP-адреса, наличие публичного ключа в authorized_keys, а также используемый локальный порт. Если используется VPN, убедитесь, что он не меняет IP-адрес на адрес, с которого SSH-доступ запрещён.
Понадобятся адрес и порт локального подключения, имя базы данных, а также логин и пароль пользователя БД. Логин и пароль от ISPmanager для подключения не используются.
Если туннель был запущен из командной строки Windows, просто закройте окно. В Linux вернитесь в терминал, где запущен туннель, и нажмите Ctrl+C. Проверить состояние подключения можно командой netstat -ano | findstr :3306 (Windows) или ss -tlnp | grep 3306 (Linux). Если команда ничего не выводит, туннель отключён.