Проверьте публичный SSH-ключ

Вставьте содержимое файла .pub одной строкой. В ответ — алгоритм, настоящая длина ключа, отпечаток SHA256 ровно в том виде, в каком его печатает ssh-keygen -lf, и оценка с объяснением, за что она поставлена.

Публичный ключ на то и публичный — его положено раздавать. И всё-таки эта страница разбирает его в браузере: инструмент, который просит вставить ключевой материал и отправляет его куда-то, приучает к плохой привычке.

Вставьте или перетащите ключ

Ключ читается в этой вкладке. Отпечаток считает встроенный в браузер WebCrypto, а не сервер. После загрузки страница не делает ни одного сетевого запроса и не несёт счётчиков.

Как выставляются оценки

  • A — Ed25519, Ed25519 на аппаратном ключе, ECDSA на P-384 или P-521, RSA от 3072 бит.
  • B — RSA-2048, ECDSA на P-256. Сегодня приемлемо, запаса на завтра не осталось.
  • C — RSA от 1024 до 2047 бит. Ниже нынешнего порога, часть серверов такой ключ уже не принимает.
  • D — всё, что короче, и DSA любой длины. Поддержку DSA OpenSSH удалил целиком в 10.0.

Длина читается из самого ключа, а не угадывается по типу: у RSA модуль измеряется побитово, без ведущего нулевого байта, который добавляет формат при поднятом старшем бите. Поэтому число здесь совпадает с ssh-keygen -lf, а не с округлённой догадкой.

Как выглядит обрезанный ключ

Тело SSH-ключа — это цепочка полей с длиной впереди. Такая структура самосогласована, и ключ, обрезанный посередине, часто всё равно разбирается: первое поле говорит ssh-ed25519, длины сходятся, никто не жалуется.

Ранняя версия этой страницы ставила такому обрывку оценку A. Теперь состав полей сверяется с типом: у Ed25519 обязаны быть 32 байта открытой части, у RSA — экспонента и непустой модуль, у ECDSA — имя кривой и точка. Ключ без них объявляется неполным, а не оценивается.

Вопросы, которые задают на самом деле

Мой ключ уходит на сервер?

Нет. Ключ разбирается в браузере, отпечаток считает встроенный в браузер WebCrypto, а не сервер. После загрузки страница не делает ни одного запроса и не несёт счётчиков, так что спорить не о чем — откройте вкладку «Сеть» и вставьте ключ.

Ed25519 лучше RSA?

Для SSH — да, по тем признакам, которые имеют значение. Ключ Ed25519 занимает 68 символов против примерно 730 у RSA-4096, подпись и проверка быстрее, а реализация работает за постоянное время по устройству, а не по старанию. RSA от 3072 бит по-прежнему вполне надёжен, RSA-2048 — это минимум, и планка растёт.

Что такое xchacha20?

Потоковый шифр со 192-битным одноразовым значением, применяемый вместе с Poly1305 для проверки целостности. Это не тип SSH-ключа: им Conchshell запечатывает хранилище учётных данных, а ключ выводит Argon2id. В самом SSH вы встречаете его близкого родственника chacha20-poly1305 — шифр транспорта по умолчанию в OpenSSH.

Что вообще видно по публичному ключу?

Алгоритм, длина, признак аппаратного ключа, комментарий, который оставил владелец, и отпечаток SHA256, по которому ключ опознают. Ничего о приватной половине и ничего, что помогло бы ключом воспользоваться.

Почему отпечаток совпадает с ssh-keygen до символа?

Потому что считается так же: SHA-256 по декодированному телу ключа, base64 без выравнивания, с приставкой SHA256:. Именно этим равенством инструмент и проверяется — пять настоящих типов ключей, созданных ssh-keygen, а разрядность и отпечатки сверены с его собственным выводом.

Что будет, если по ошибке вставить приватный ключ?

Он не обрабатывается. Текст проверяется на признаки приватного ключа до всего остального, появляется предупреждение, а поле очищается при уходе из него — чтобы ключ не остался ни в странице, ни в восстановлении формы.

Откуда это взялось

Conchshell предпочитает ключи хоста Ed25519 и договаривается о curve25519-sha256, а учётные данные держит в хранилище под XChaCha20-Poly1305 с ключом от Argon2id. Ваши приватные ключи остаются лежать там, где лежат: приложение указывает на файл, а не копирует его в себя.

Что честно знать до решения: он умеет пароль, приватный ключ и зашифрованный ключ с парольной фразой — и больше ничего. Если ваша схема держится на отдельной программе-агенте, хранящей ключи, она сюда не переедет.

Скачать Conchshell бесплатно

Что почитать дальше