Вы пытаетесь подключиться к удалённому MySQL-серверу через SSH в Workbench, но вместо привычного .ppk-файла видите только записи в реестре? Многие сталкиваются с этой путаницей, особенно после обновления PuTTY. Давайте разберёмся, почему это происходит и как решить задачу без лишнего стресса.
Ключи PuTTY в реестре – это не то, что вы думаете
Сначала важный момент: записи в реестре, которые вы нашли, не являются вашим приватным ключом. PuTTY хранит там не секретные данные для аутентификации, а публичные ключи серверов – что-то вроде цифровых отпечатков (аналогично файлу known_hosts в OpenSSH). Это нужно для проверки подлинности сервера при следующем подключении, чтобы избежать атак «человек посередине».
Если вы раньше подключались к серверу по паролю, а не по ключу, то .ppk-файла у вас вообще не существует. PuTTY не создаёт его автоматически – для этого нужно вручную сгенерировать пару ключей через PuTTYgen и настроить их на сервере.
Кстати, ошибка «не найден .ppk» часто возникает именно из-за этого: пользователи забывают, что использовали пароль, а не ключевую аутентификацию.
Как создать .ppk для MySQL Workbench: пошаговая настройка
Если вы уверены, что ключ должен быть, но его нет, проверьте:
- Использовали ли вы PuTTYgen для генерации ключа (или брали готовый файл из другого источника)?
- Добавляли ли публичную часть ключа в
~/.ssh/authorized_keys
на сервере? (это обязательный шаг!)
Если ответ «нет», вот алгоритм:
- Скачайте PuTTYgen (входит в комплект PuTTY).
- Запустите программу и нажмите Generate. Двигайте мышью в пустой области, чтобы создать энтропию.
- В поле Key comment укажите метку (например, «mysql-server-1»).
- Сохраните приватный ключ через Save private key – это и будет ваш .ppk-файл. Не забудьте пароль, если установили его!
- Скопируйте текст из поля Public key for pasting into OpenSSH authorized_keys file и добавьте его в файл
/home/ваш_пользователь/.ssh/authorized_keys
на сервере через SSH.
# Пример содержимого authorized_keys:
ssh-rsa AAAAB3NzaC1yc2E...D9O9w== mysql-server-1
Настройка подключения в MySQL Workbench
Теперь, когда .ppk готов:
– В разделе SSH настроек подключения укажите:
- SSH Hostname: IP или домен вашего сервера
- SSH Username: пользователь для подключения по SSH
- SSH Key File: путь к .ppk-файлу
– В блоке MySQL введите:
- Hostname: 127.0.0.1 (если MySQL слушает локально)
- Port: 3306 (стандартный порт, если не меняли)
- Username: пользователь БД
Если возникает ошибка «Could not establish SSH connection», проверьте:
- Правильность пути к .ppk (Workbench иногда «теряет» файлы при переименовании)
- Соответствие пользователя SSH и прав на ключ (на Unix-системах файлы .ppk должны иметь права 600)
- Работоспособность SSH-подключения через PuTTY отдельно (чтобы исключить проблемы с сетью)
Совет: для теста попробуйте подключиться через PuTTY с тем же .ppk – если сработает, проблема точно в настройке Workbench.
И помните: никогда не используйте один .ppk для всех серверов. Создавайте отдельные ключи – это упростит отзыв доступа в случае утечки. Да, чуть больше возни сейчас, зато меньше головной боли потом.