Набор ключей SSH

Аутентификация по ключу SSH заменяет пароль парой математически связанных ключей: закрытый ключ, который никогда не покидает ваш компьютер, и открытый ключ, который вы устанавливаете на каждом сервере, куда входите. Сервер предлагает вашему компьютеру доказать, что он владеет закрытым ключом, и доказательство работает без того, чтобы секрет пересекал сеть. Эта страница создаёт ключи Ed25519, ECDSA и RSA в формате OpenSSH, проверяет ваши файлы authorized_keys и known_hosts на слабые, дублирующиеся и устаревшие ключи и конвертирует ключи между форматами PEM, OpenSSH и JWK — всё в браузере, без загрузки. Сопутствующее руководство SSH-ключи: объяснение рассказывает, как выбрать тип ключа и что делать при утечке ключа. Дополните его проверкой утечки паролей для паролей, которые вы ещё используете, а также сопоставителем ключей сертификатов и набором PGP для остального ключевого материала.

Последнее обновление:

Ваш закрытый ключ никогда не покидает эту страницу

Каждый ключ создаётся, разбирается и конвертируется в вашем браузере. Закрытый ключ никогда не загружается, не сохраняется и не записывается в журнал и никогда не появляется в URL. Скачайте его один раз, защитите командой chmod 600 и при необходимости добавьте парольную фразу командой ssh-keygen -p. Полное руководство — в статье SSH-ключи: объяснение.

Создать новую пару ключей SSH

Честные ограничения

Версия 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-ключи: объяснение».