Как преобразовать ключи PuTTY из реестра в .ppk: Инструкция для MySQL Workbench

Вы пытаетесь подключиться к удалённому MySQL-серверу через SSH в Workbench, но вместо привычного .ppk-файла видите только записи в реестре? Многие сталкиваются с этой путаницей, особенно после обновления PuTTY. Давайте разберёмся, почему это происходит и как решить задачу без лишнего стресса.

Ключи PuTTY в реестре – это не то, что вы думаете

Сначала важный момент: записи в реестре, которые вы нашли, не являются вашим приватным ключом. PuTTY хранит там не секретные данные для аутентификации, а публичные ключи серверов – что-то вроде цифровых отпечатков (аналогично файлу known_hosts в OpenSSH). Это нужно для проверки подлинности сервера при следующем подключении, чтобы избежать атак «человек посередине».

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

Кстати, ошибка «не найден .ppk» часто возникает именно из-за этого: пользователи забывают, что использовали пароль, а не ключевую аутентификацию.

Как создать .ppk для MySQL Workbench: пошаговая настройка

Если вы уверены, что ключ должен быть, но его нет, проверьте:

  • Использовали ли вы PuTTYgen для генерации ключа (или брали готовый файл из другого источника)?
  • Добавляли ли публичную часть ключа в ~/.ssh/authorized_keys на сервере? (это обязательный шаг!)

Если ответ «нет», вот алгоритм:

  1. Скачайте PuTTYgen (входит в комплект PuTTY).
  2. Запустите программу и нажмите Generate. Двигайте мышью в пустой области, чтобы создать энтропию.
  3. В поле Key comment укажите метку (например, «mysql-server-1»).
  4. Сохраните приватный ключ через Save private key – это и будет ваш .ppk-файл. Не забудьте пароль, если установили его!
  5. Скопируйте текст из поля 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 для всех серверов. Создавайте отдельные ключи – это упростит отзыв доступа в случае утечки. Да, чуть больше возни сейчас, зато меньше головной боли потом.

Новое
Интересное