BL2.ru

Генератор SSH-ключей онлайн

Пара SSH-ключей создаётся прямо в вашем браузере через WebCrypto: публичный ключ для authorized_keys, приватный в формате OpenSSH, отпечаток SHA256 и эквивалентная команда ssh-keygen.

🔒 Ключи создаются в вашем браузере и никуда не отправляются.

Рекомендуется Ed25519: короткий, быстрый и поддерживается OpenSSH с версии 6.5. RSA нужен для очень старых систем (берите 3072 или 4096), ECDSA — когда нужны NIST-кривые. Приватный ключ выдаётся в формате OpenSSH (openssh-key-v1) без парольной фразы для всех типов, его читают ssh, ssh-keygen и ssh-agent.

⚠ Ключ создан в браузере. Для боевых серверов надёжнее запускать ssh-keygen локально, а приватный ключ нигде не публиковать. Парольную фразу можно добавить уже после создания.

Как пользоваться

Выберите тип ключа и при желании измените комментарий (он дописывается в конец публичного ключа, обычно это user@host). Нажмите «Сгенерировать». Публичный ключ добавьте на сервер в ~/.ssh/authorized_keys, а приватный сохраните в ~/.ssh/id_ed25519 и закройте от чужих: chmod 600 ~/.ssh/id_ed25519. Кнопки «Скачать» сохраняют файлы с правильными именами.

Какой тип выбрать

  • Ed25519 — выбор по умолчанию: ключ из 32 байт, быстрая подпись, нет слабых параметров.
  • RSA 3072/4096 — для старого оборудования и ПО, которое не знает Ed25519. 2048 бит ещё допустимы, но на пределе.
  • ECDSA P-256/384/521 — на кривых NIST, нужны там, где этого требует политика безопасности.

Форматы и отпечаток

Публичный ключ записывается одной строкой: тип, ключ в base64 и комментарий (кодирование по RFC 4253, RFC 5656 и RFC 8709). Приватный ключ сохраняется в современном формате -----BEGIN OPENSSH PRIVATE KEY----- (openssh-key-v1, без шифрования). Отпечаток SHA256:… — это SHA-256 от публичного ключа в base64 без знаков «=»; его показывают ssh-keygen -l и сервер при первом подключении.

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

Ключи создаются на вашей стороне генератором браузера, страница ничего не передаёт на сервер. Всё же приватный ключ — секрет: не отправляйте его по почте и в чаты. Для серверов продакшена лучше выпускать ключ локально командой ssh-keygen и защитить парольной фразой: ssh-keygen -p -f ~/.ssh/id_ed25519. Для паролей и PIN-кодов есть генератор паролей.

Частые вопросы

Безопасно ли генерировать SSH-ключ в браузере?
Случайность обеспечивает криптографический генератор браузера (WebCrypto), и страница ничего не отправляет на сервер. Но для важных серверов надёжнее создавать ключ командой ssh-keygen на своём компьютере: так он точно не пройдёт через браузер, расширения и буфер обмена.
Какой тип ключа лучше: Ed25519 или RSA?
Ed25519 — короче, быстрее и современнее, его поддерживает OpenSSH с версии 6.5 (2014). RSA берите только для устаревших систем, тогда лучше 3072 или 4096 бит.
Как добавить парольную фразу к скачанному ключу?
Сохраните приватный ключ в ~/.ssh/id_ed25519 и выполните ssh-keygen -p -f ~/.ssh/id_ed25519: команда запросит и сохранит новую фразу, зашифровав ключ.
Что такое отпечаток ключа SHA256:…?
Это короткий хэш SHA-256 публичного ключа в base64. По нему сверяют ключ при первом подключении к серверу и в списках ключей на GitHub и GitLab. Тот же результат даёт ssh-keygen -lf id_ed25519.pub.
Почему не получается создать Ed25519?
Ed25519 в WebCrypto поддерживают современные версии Chrome, Edge, Firefox и Safari. В старом браузере выберите RSA или ECDSA, либо обновите браузер.