Открыть сервис

PuTTYgen

PuTTYgen — это утилита для генерации пар ключей (открытого и закрытого) в рамках пакета программ PuTTY, предназначенного для работы по протоколам SSH, Telnet и Rlogin. PuTTYgen позволяет создавать, просматривать, редактировать, экспортировать и импортировать ключи асимметричного шифрования, используемые для аутентификации на удалённых серверах и для подписи данных. Утилита распространяется бесплатно с открытым исходным кодом и является стандартным инструментом для администраторов систем и разработчиков, работающих с SSH-соединениями.

История

PuTTYgen была разработана Саймоном Тэтхемом (Simon Tatham) как часть пакета PuTTY, первая версия которого вышла в 1998 году. Изначально PuTTY представлял собой простой SSH-клиент для Windows. С расширением функциональности возникла необходимость в управлении ключами, что привело к созданию PuTTYgen. Первые версии утилиты поддерживали только алгоритм RSA. Позднее были добавлены поддержка DSA (2001), ECDSA (2013) и Ed25519 (2017). PuTTYgen остаётся одним из наиболее распространённых инструментов для генерации SSH-ключей на платформе Windows, несмотря на наличие встроенных средств в современных версиях Windows 10 и 11 (OpenSSH-клиент).

Функциональные возможности

PuTTYgen выполняет несколько ключевых задач, связанных с управлением ключами SSH.

Генерация ключей

Утилита позволяет создавать новые пары ключей с заданными параметрами. Пользователь может выбрать алгоритм (RSA, DSA, ECDSA, Ed25519) и, для некоторых алгоритмов, длину ключа (например, 2048 или 4096 бит для RSA). В процессе генерации программа использует случайное движение мыши или нажатия клавиш для создания энтропии, необходимой для криптостойкости ключа.

Редактирование и просмотр ключей

PuTTYgen может загружать существующий закрытый ключ в собственном формате (.ppk) и отображать его параметры: алгоритм, длину, отпечаток (fingerprint) и комментарий. Пользователь может изменить комментарий, установить или снять парольную фразу (passphrase) для защиты закрытого ключа.

Экспорт и импорт

Утилита поддерживает экспорт открытого ключа в формате, совместимом с OpenSSH (стандартный формат для Linux-серверов). Закрытый ключ может быть экспортирован в форматы OpenSSH, SSH.com и в стандартный формат PKCS#8 (для использования в других криптографических приложениях). Также возможен импорт закрытых ключей из форматов OpenSSH и SSH.com с последующим сохранением в формате .ppk.

Генерация отпечатка ключа

PuTTYgen вычисляет и отображает отпечаток (fingerprint) открытого ключа в формате MD5 или SHA-256. Отпечаток используется для верификации ключа при первом подключении к серверу, что позволяет защититься от атак типа «человек посередине».

Алгоритмы шифрования

PuTTYgen поддерживает четыре основных алгоритма асимметричного шифрования:

Формат файла .ppk

Закрытые ключи, созданные PuTTYgen, по умолчанию сохраняются в собственном формате PuTTY Private Key (.ppk). Этот формат является текстовым и включает в себя:

Формат .ppk несовместим с OpenSSH напрямую, однако PuTTYgen позволяет экспортировать ключи в форматы, используемые OpenSSH и другими SSH-клиентами.

Использование

PuTTYgen применяется в следующих сценариях:

Настройка аутентификации по ключу для SSH

Пользователь генерирует пару ключей с помощью PuTTYgen, затем открытый ключ (в формате OpenSSH) копируется на сервер в файл ~/.ssh/authorized_keys. Закрытый ключ (в формате .ppk) загружается в PuTTY или другой SSH-клиент (например, WinSCP) для подключения без пароля.

Генерация ключей для Git и других сервисов

PuTTYgen может использоваться для создания ключей, применяемых при работе с Git-репозиториями по протоколу SSH (например, GitHub, GitLab, Bitbucket). Открытый ключ добавляется в настройки учётной записи, а закрытый — в Pageant (агент аутентификации PuTTY) или другой SSH-агент.

Преобразование ключей между форматами

С помощью PuTTYgen можно конвертировать ключи из формата OpenSSH в .ppk и обратно, что полезно при переходе между различными SSH-клиентами.

Агент аутентификации Pageant

PuTTYgen тесно связан с программой Pageant (PuTTY Authentication Agent), которая входит в тот же пакет. Pageant хранит в памяти расшифрованные закрытые ключи и автоматически предоставляет их PuTTY и другим программам при установке SSH-соединений. Ключи загружаются в Pageant через PuTTYgen или непосредственно через интерфейс агента.

Альтернативы

Существуют аналогичные утилиты для генерации SSH-ключей:

PuTTYgen остаётся популярным выбором для пользователей Windows благодаря графическому интерфейсу и интеграции с экосистемой PuTTY.

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

При использовании PuTTYgen следует учитывать несколько аспектов безопасности:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →