Ключи OpenSSH
Генерация пар SSH-ключей Ed25519, ECDSA и RSA (с парольной фразой или без) и конвертация между OpenSSH, PKCS#8 и SPKI PEM — в браузере.
Введённые данные и файлы остаются в браузере
Генерация
Парольная фраза начинается или заканчивается пробелом. Она используется ровно как введена, вместе с пробелами.
Импорт
Вставьте ключ OpenSSH, SPKI или PKCS#8, откройте файл ключа или перетащите его сюда.
Поддерживаются OpenSSH public/private и PKCS#8 PEM.
Сгенерируйте пару ключей или импортируйте ключ — открытый ключ появится здесь.
Закрытый ключ появится здесь после генерации или импорта закрытого ключа.
На этой странице
Ключи OpenSSH генерирует пары SSH-ключей (Ed25519, ECDSA P-256/P-384, RSA 3072/4096) и переводит ключи между форматами OpenSSH, PKCS#8 и SPKI PEM. Ключи создаются и конвертируются в браузере, приватный ключ никуда не отправляется.
Подробное описание функциональности
Генерация даёт приватный ключ OpenSSH (-----BEGIN OPENSSH PRIVATE KEY-----) и соответствующую публичную строку (ssh-ed25519 AAAA…), готовую для authorized_keys. С парольной фразой приватный ключ шифруется так же, как в ssh-keygen: bcrypt-pbkdf с 16 раундами и aes256-ctr. Фраза используется ровно как введена, вместе с пробелами. Генерация идёт в Web Worker: Ed25519 и ECDSA занимают миллисекунды, RSA 4096 — от нескольких секунд до минуты; страница при этом остаётся рабочей, показывает прошедшее время и кнопку Отмена.
Импорт принимает вставленный ключ или файл ключа (можно перетащить): публичную строку OpenSSH (ssh-ed25519, ecdsa-sha2-nistp256/384, ssh-rsa), приватный ключ OpenSSH, SPKI PUBLIC KEY PEM или PKCS#8 PRIVATE KEY / ENCRYPTED PRIVATE KEY PEM. Для приватного ключа выводится публичная строка, для публичного — алгоритм и комментарий. Конвертация переводит приватный ключ OpenSSH в PKCS#8, публичную строку OpenSSH в SPKI PEM и обратно, PKCS#8 — в OpenSSH.
Результаты можно скопировать или скачать как id_key / id_key.pub (сгенерированные) или imported.key / imported.pub (импортированные). Предупреждения указывают на слабые варианты, например RSA короче 3072 бит. Ключи из прежних версий инструмента, которые обрезали пробелы во фразе, по-прежнему открываются: если введённая фраза не подошла, пробуется вариант без пробелов по краям, о чём сообщает заметка.
Практические примеры
Новый ключ для сервера: выберите Ed25519, нажмите Сгенерировать ключи, добавьте публичную строку (она начинается с ssh-ed25519 AAAAC3NzaC1lZDI1NTE5) в ~/.ssh/authorized_keys на сервере, а приватный ключ сохраните как ~/.ssh/id_ed25519 с правами 600.
RSA для старой системы: выберите RSA 4096, если устройство не принимает Ed25519. Генерация займёт время — прошедшие секунды видны, а Отмена прерывает её.
Публичный ключ OpenSSH в PEM: вставьте ssh-ed25519 AAAA… user@host и нажмите Конвертировать — получится SPKI PEM, начинающийся с -----BEGIN PUBLIC KEY----- и MCowBQYDK2VwAyEA, такой формат ждут OpenSSL, Java и другие библиотеки.
SSH-ключ в коде: вставьте OPENSSH PRIVATE KEY (с его фразой в поле), нажмите Конвертировать и получите блок PKCS#8 -----BEGIN PRIVATE KEY----- для библиотек, которые не читают формат OpenSSH.
Как использовать этот инструмент
Выберите тип ключа
В блоке Генерация выберите Алгоритм: Ed25519 (Recommended), ECDSA P-256/P-384 или RSA 3072/4096. Размер ключа активен только для RSA.
Задайте парольную фразу при желании
Введите фразу в Парольная фраза (необязательно), чтобы зашифровать приватный ключ; оставьте поле пустым для незашифрованного ключа.
Сгенерируйте
Нажмите Сгенерировать ключи. Для RSA появится полоса прогресса с прошедшим временем и кнопкой Отмена.
Сохраните ключи
Используйте Копировать или Скачать у полей Публичный ключ и Приватный ключ.
Импортируйте или сконвертируйте ключ
Вставьте ключ в блоке Импорт или перетащите файл ключа, затем нажмите Импортировать, чтобы посмотреть его, или Конвертировать, чтобы сменить формат.
Советы и лучшие практики
- Ключи Ed25519 короткие, быстрые и принимаются OpenSSH 6.5+ и крупными Git-хостингами; RSA берите только там, где он обязателен.
- Предупреждение «ssh-rsa uses SHA-1» относится к старой схеме подписи; современный OpenSSH подписывает RSA-ключами через rsa-sha2-256/512.
- Приватный ключ без фразы защищён не лучше диска, на котором лежит; для ключей на ноутбуке задайте фразу.
- Фраза с пробелом в начале или в конце — это другая фраза; поле показывает подсказку, чтобы это не случилось случайно.
- Скачанному приватному ключу нужен
chmod 600, иначеsshоткажется его использовать.