Набор ключей SSH
Аутентификация по ключу SSH заменяет пароль парой математически связанных ключей: закрытый ключ, который никогда не покидает ваш компьютер, и открытый ключ, который вы устанавливаете на каждом сервере, куда входите. Сервер предлагает вашему компьютеру доказать, что он владеет закрытым ключом, и доказательство работает без того, чтобы секрет пересекал сеть. Эта страница создаёт ключи Ed25519, ECDSA и RSA в формате OpenSSH, проверяет ваши файлы authorized_keys и known_hosts на слабые, дублирующиеся и устаревшие ключи и конвертирует ключи между форматами PEM, OpenSSH и JWK — всё в браузере, без загрузки. Сопутствующее руководство SSH-ключи: объяснение рассказывает, как выбрать тип ключа и что делать при утечке ключа. Дополните его проверкой утечки паролей для паролей, которые вы ещё используете, а также сопоставителем ключей сертификатов и набором PGP для остального ключевого материала.
Последнее обновление:
Ваш закрытый ключ никогда не покидает эту страницу
Каждый ключ создаётся, разбирается и конвертируется в вашем браузере. Закрытый ключ никогда не загружается, не сохраняется и не записывается в журнал и никогда не появляется в URL. Скачайте его один раз, защитите командой chmod 600 и при необходимости добавьте парольную фразу командой ssh-keygen -p. Полное руководство — в статье SSH-ключи: объяснение.
Создать новую пару ключей SSH
Результаты
Проверка и аудит ключей
Вставьте содержимое <code>~/.ssh/authorized_keys</code> или <code>~/.ssh/known_hosts</code> либо одну строку открытого ключа. Хэшированные записи <code>known_hosts</code> сообщаются как хэшированные и никогда молча не пропускаются. Закрытые ключи, защищённые парольной фразой, здесь разобрать нельзя — это явная ошибка, а не поддельный результат.
Текстовый файл с ключами, по одному на строку. Строки, которые нельзя разобрать, перечисляются как неразобранные и никогда молча не отбрасываются. Файл читается только на этом устройстве и никогда не загружается.
Или перетащите файл в любое место этого поля. Лимит: 2 МБ.
Результаты
Конвертировать ключ
Конвертируйте открытый ключ между OpenSSH, PEM и JWK или незашифрованный закрытый ключ между OpenSSH и PEM PKCS#8. Каждая конвертация показывает отпечаток до и после, чтобы вы могли убедиться, что это тот же ключ. Ключи, защищённые парольной фразой, в версии 1 не поддерживаются.
Результаты
Честные ограничения
Версия 1 создаёт незашифрованные ключи: здесь нет опции парольной фразы, потому что bcrypt-KDF OpenSSH для зашифрованных закрытых ключей — это объём версии 2. Защитите скачанный файл командой chmod 600 и при необходимости добавьте парольную фразу командой ssh-keygen -p.
Для создания Ed25519 нужен современный браузер. Если ваш его не поддерживает, эта страница прямо скажет об этом и предложит вместо него ECDSA P-256 — она никогда не подделывает ключ Ed25519 и не понижает вас молча.
Никогда не вставляйте закрытый ключ в чат, тикет, сообщение на форуме или общий документ — даже чтобы спросить, безопасен ли он. Закрытый ключ, появившийся в любом из этих мест, нужно считать утёкшим: замените его и удалите старый открытый ключ из каждого файла authorized_keys.
Что такое аутентификация по ключу SSH — и почему она лучше пароля
Аутентификация по ключу SSH заменяет вводимый секрет математическим доказательством. Когда вы входите на сервер с ключом, сервер посылает вашему компьютеру случайный вызов; ваш компьютер подписывает его закрытым ключом, а сервер проверяет подпись по открытому ключу из authorized_keys. Закрытый ключ никогда не пересекает сеть, поэтому кейлоггеру нечего красть, фишингу нечего выманивать, а перебору нечего угадывать — злоумышленник не может подобрать 256-битный ключ Ed25519 перебором так же, как пароль, потому что пароля, который можно попробовать, просто нет.
У двух половин противоположные правила. Открытый ключ создан, чтобы его копировали повсюду: вставляйте его в authorized_keys на каждом сервере, в учётную запись Git-хостинга, в любой сервис, который его принимает. Он позволяет другой стороне только проверить доказательство, поэтому его публикация ничего не стоит. Закрытый ключ — наоборот: тот, у кого он есть, может войти от вашего имени на каждый сервер, который доверяет соответствующему открытому ключу. Поэтому он живёт в ~/.ssh, читаемый только вами, и поэтому его нельзя вставлять в чат, тикет, письмо или общий документ — как только он появляется в любом из этих мест, он утёк, и единственное исправление — заменить его везде.
Выбор ключа, проверка отпечатков и порядок в файлах
В 2026 году выбор по умолчанию — Ed25519: 256-битный ключ, который создаётся и подписывается быстрее RSA, а его открытый ключ умещается в одну короткую строку. ECDSA P-256 — запасной вариант, когда политика или старая система настаивают на кривых NIST, а RSA 3072 или 4096 — ответ только тогда, когда другая сторона вообще не умеет работать с эллиптическими кривыми: RSA 2048 — это нижняя граница, а всё меньшее эта страница помечает как слабое. Тип ключа значит меньше, чем гигиена вокруг него: сильный ключ, оставленный в файле, читаемом всеми, или скопированный на ноутбук, которым вы больше не владеете, хуже скромного ключа, который хранится как следует.
Отпечатки — это способ узнать, что вы говорите с нужной машиной. При первом подключении к серверу SSH показывает вам отпечаток ключа хоста сервера и просит ему доверять; этот отпечаток — хэш открытого ключа сервера, и если он совпадает с опубликованным вашим администратором, никто не сидит посередине. Сохраните его, и SSH громко предупредит вас, если он когда-нибудь изменится. Те же отпечатки идентифицируют ваши собственные ключи: ssh-keygen -lf печатает по одной строке на ключ, а эта страница печатает отпечатки в точно таком же формате, поэтому значения, которые вы видите здесь, можно сравнить с серверными символ в символ.
Файлы заслуживают регулярного аудита, потому что ключи накапливаются. Каждая строка authorized_keys — это дверь на сервер, и двери остаются открытыми ещё долго после того, как человек, которому они были нужны, ушёл: ноутбук подрядчика, задание CI, ключ, созданный на машине, которая с тех пор стёрта. Вставьте файл во вкладку «Проверить», и эта страница подсчитает ключи, отметит дубликаты, пометит слабые и устаревшие типы и перечислит строки, которые не смогла разобрать, вместо того чтобы молча их отбросить. Сделайте то же самое для known_hosts, где хэшированные записи скрывают имя хоста, — эта страница сообщает о них как о хэшированных, а не притворяется, что они читаемы. Десятиминутный аудит раз в несколько месяцев — самая дешёвая работа по безопасности, которую когда-либо выполняет владелец сервера.
Набор простыми словами
| Ed25519 | Современный ключ на эллиптической кривой: 256 бит, быстрый и компактный. Рекомендуемое значение по умолчанию для новых ключей в 2026 году, поддерживается всеми современными SSH-серверами и клиентами. |
| ECDSA P-256 / P-384 | Ключи на эллиптических кривых NIST P-256 и P-384. Хороший запасной вариант, когда Ed25519 недоступен, и стандартный выбор там, где политика требует кривых NIST. |
| RSA 2048 / 3072 / 4096 | Классический тип ключа. RSA 2048 — минимум, который стоит использовать; 3072 и 4096 дают запас ценой более медленной подписи. Всё ниже 2048 помечается как слабое. |
| Открытый ключ | Половина, которую вы устанавливаете на серверах в authorized_keys. Ею можно свободно делиться — она позволяет только проверить доказательство, но никогда не создать его. |
| Закрытый ключ | Половина, которая никогда не покидает ваш компьютер. Тот, у кого он есть, может войти от вашего имени. Защитите его командой chmod 600 и парольной фразой и никуда его не вставляйте. |
| Отпечаток | Короткий хэш открытого ключа, выводимый как SHA256:… или MD5:… Точно то, что печатает ssh-keygen -lf, чтобы вы могли сравнить его с тем, что показывает сервер. |
| authorized_keys | Файл на сервере (~/.ssh/authorized_keys), в котором перечислены открытые ключи, которым разрешён вход. Каждая строка — дверь; устаревшие строки — двери, которые вы забыли закрыть. |
| known_hosts | Файл на вашем компьютере (~/.ssh/known_hosts), в котором записан ключ хоста каждого сервера. Именно он позволяет SSH предупредить вас, когда ключ сервера внезапно меняется. |
| PEM / JWK | Две другие кодировки ключей: PEM — текстовый формат base64, используемый TLS-инструментами и OpenSSL; JWK — формат JSON, используемый веб-API. Конвертация никогда не меняет сам ключ. |
Часто задаваемые вопросы
Какой тип ключа выбрать?
Ed25519 почти для всего: он быстрый, компактный и надёжный при 256 битах, и его поддерживают все современные серверы. Выбирайте ECDSA P-256, только если политика или старая система требуют кривых NIST, а RSA 3072 или 4096 — только если другая сторона вообще не умеет работать с эллиптическими кривыми.
Созданный закрытый ключ зашифрован?
Нет. Версия 1 создаёт незашифрованные ключи с cipher none — точно как ssh-keygen без парольной фразы. Скачайте его, установите chmod 600, а если хотите парольную фразу, выполните на своём компьютере ssh-keygen -p -f ваш-ключ — это добавит bcrypt-защиту OpenSSH.
Почему Ed25519 не работает в моём браузере?
Для создания ключей Ed25519 нужна поддержка Ed25519 в WebCrypto, которой нет в старых браузерах. Эта страница определяет это и сообщает вам, вместо того чтобы подделывать ключ. Используйте ECDSA P-256 как запасной вариант или обновите браузер и попробуйте снова.
Можно ли вставить сюда закрытый ключ для проверки?
Можно вставить незашифрованный закрытый ключ OpenSSH, и эта страница локально разберёт его открытую часть — но подумайте дважды. Более безопасная привычка — вставлять только открытые ключи и файлы authorized_keys. Закрытый ключ, защищённый парольной фразой, отклоняется с явной ошибкой и никогда не разбирается.
Что делать при утечке ключа?
Создайте новую пару ключей, удалите старый открытый ключ из authorized_keys на каждом сервере и в каждом сервисе и считайте всё, до чего мог дотянуться старый ключ, скомпрометированным, пока не проверите. Полный контрольный список — в руководстве «SSH-ключи: объяснение».