Генератор SSH-ключей
Выберите тип ключа и получите новую пару SSH-ключей. Ключи создаёт Web Crypto API вашего браузера на этом устройстве — не на нашем сервере, и никуда они не отправляются. Публичный ключ — одна строка для authorized_keys или Git-хостинга, закрытый скачивается файлом в формате OpenSSH.
Работает в браузере: всё, что вы вводите, никуда не отправляется.
Как пользоваться
- Оставьте тип Ed25519, если серверу не нужен именно RSA.
- При желании впишите комментарий, например свой email.
- Скопируйте публичный ключ или скачайте файл .pub и добавьте его на сервер или Git-хостинг.
- Скачайте закрытый ключ, сохраните его в ~/.ssh с правами 600 и добавьте пароль командой ssh-keygen -p.
Пара ключей создаётся сразу при открытии страницы; нажмите Новая пара ключей, чтобы получить другую.
Как это работает
Браузер создаёт пару ключей через Web Crypto: Ed25519 напрямую, RSA с открытой экспонентой 65537. Затем инструмент записывает ключи в собственных форматах OpenSSH. Публичный ключ — это тип ключа, за которым идёт блок Base64 с названием типа и числами ключа. Закрытый ключ — контейнер «openssh-key-v1», который ssh-keygen пишет по умолчанию начиная с OpenSSH 7.8, здесь без шифрования.
Пример
Строка публичного ключа Ed25519 выглядит так, с вашим комментарием в конце:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP… user@laptop
Файл закрытого ключа начинается с -----BEGIN OPENSSH PRIVATE KEY-----. Команда ssh-keygen -y -f id_ed25519 выводит по нему ту же строку публичного ключа — так легко проверить, что файлы составляют пару.
Советы
- Отдельный ключ на каждое устройство проще отозвать, чем один ключ, скопированный повсюду.
- Если сервер отвергает ключ, проверьте версию sshd и разрешённые типы ключей: очень старые серверы принимают только RSA.
- Никому не отправляйте закрытый ключ. Делиться можно только файлом .pub.
Частые вопросы
Безопасно ли создавать SSH-ключ в браузере?
Ключ создаёт встроенный в браузер Web Crypto API на основе криптографически стойкого генератора случайных чисел — того же, что используется для TLS. Ключ появляется в этой вкладке и покидает её, только когда вы его копируете или скачиваете. Если правила требуют создавать ключи на той машине, где они используются, запустите там ssh-keygen.
Что выбрать — Ed25519 или RSA?
Ed25519 — тип ключа по умолчанию в современном ssh-keygen, его принимают почти везде: короткие ключи, быстро и надёжно. RSA выбирайте только для старых серверов и устройств, которые не принимают Ed25519; тогда разумный размер — 3072 или 4096 бит.
Куда положить файлы?
В Linux и macOS сохраните закрытый ключ как ~/.ssh/id_ed25519 (или ~/.ssh/id_rsa), выполните для него chmod 600 и положите рядом файл .pub. Строку публичного ключа добавьте в ~/.ssh/authorized_keys на сервере или вставьте в настройки SSH-ключей на Git-хостинге.
Почему нельзя задать пароль?
Для шифрования закрытого ключа OpenSSH нужна функция формирования ключа bcrypt_pbkdf, которой в этом инструменте нет. После сохранения выполните ssh-keygen -p -f с именем файла, чтобы добавить пароль; сам ключ при этом не изменится.
Что такое отпечаток?
Хеш SHA-256 публичного ключа в Base64 — то же значение SHA256:…, что показывают ssh-keygen -l и SSH-клиенты. По нему можно убедиться, что на сервере или Git-хостинге стоит именно ваш ключ.