Ключи 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.

Как использовать этот инструмент

  1. Выберите тип ключа

    В блоке Генерация выберите Алгоритм: Ed25519 (Recommended), ECDSA P-256/P-384 или RSA 3072/4096. Размер ключа активен только для RSA.

  2. Задайте парольную фразу при желании

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

  3. Сгенерируйте

    Нажмите Сгенерировать ключи. Для RSA появится полоса прогресса с прошедшим временем и кнопкой Отмена.

  4. Сохраните ключи

    Используйте Копировать или Скачать у полей Публичный ключ и Приватный ключ.

  5. Импортируйте или сконвертируйте ключ

    Вставьте ключ в блоке Импорт или перетащите файл ключа, затем нажмите Импортировать, чтобы посмотреть его, или Конвертировать, чтобы сменить формат.

Советы и лучшие практики

  • Ключи Ed25519 короткие, быстрые и принимаются OpenSSH 6.5+ и крупными Git-хостингами; RSA берите только там, где он обязателен.
  • Предупреждение «ssh-rsa uses SHA-1» относится к старой схеме подписи; современный OpenSSH подписывает RSA-ключами через rsa-sha2-256/512.
  • Приватный ключ без фразы защищён не лучше диска, на котором лежит; для ключей на ноутбуке задайте фразу.
  • Фраза с пробелом в начале или в конце — это другая фраза; поле показывает подсказку, чтобы это не случилось случайно.
  • Скачанному приватному ключу нужен chmod 600, иначе ssh откажется его использовать.