Hash & Crypto Helpers

Проверка ключей SSHСравните ключи независимо от комментариев

Вставьте публичный ключ OpenSSH. Второй ключ нужен только для сравнения. Не вводите закрытые ключи.

Проверка ключей SSH

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

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

Введите публичный ключ.

Пустое второе поле — разбор одного ключа. Кнопки отпечатков копируют первый; JSON содержит оба.

Одна строка OpenSSH в поле, до 16 384 единиц UTF-16. Проверяется только структура; MD5 и DSA — для старых записей.

Введите публичный ключ.

Проверка ключей SSH помогает найти одинаковые ключи среди копий с разными именами файлов и комментариями. Адрес почты в конце строки можно изменить, не меняя сам ключ и его отпечаток.

Публичный SSH-ключ содержит тип и открытые параметры. Совпадение этих данных не доказывает, кто владеет закрытой частью, и не означает, что сервер разрешит вход. Для таких выводов нужны отдельные проверки.

Проверка ключей SSH: что именно сравнивается

Другой комментарий не означает другой ключ

Проверка ключей SSH сравнивает полные двоичные блоки после декодирования. Имя компьютера, адрес почты и внешние пробелы в сравнении не участвуют. В примере один публичный ключ намеренно снабжён двумя разными комментариями.

Два одинаковых блока ключа с разными комментариями дают одинаковый отпечаток и результат совпадения.

Сначала структура, затем отпечаток

Корректный Base64 ещё не гарантирует, что внутри находится полный ключ. Проверяются длины полей, внутреннее имя типа и параметры алгоритма. Обрезанный блок вызывает ошибку до вычисления отпечатка, поэтому неполные данные не выглядят как готовый результат.

Полный ключ проходит проверку полей, а обрезанный останавливается на недостающем поле.

Подготовьте данные для сверки

01

Возьмите только публичную строку

Нужны тип, Base64 и необязательный комментарий. Имя хоста из known_hosts и параметры authorized_keys удалите самостоятельно. Если убрать переносы строк из PEM, он не станет обычным ключом OpenSSH.

02

Добавьте вторую копию при необходимости

Пустое второе поле означает разбор одного ключа. Если заполнить оба, сравниваются их двоичные данные. Кнопки отпечатков копируют первый ключ, а отчёт JSON содержит сведения об обоих и результат сравнения.

03

Выберите момент обновления

Автоматический разбор запускается через 350 мс после последнего изменения. Выключите его, чтобы использовать кнопку или Ctrl/Cmd+Enter. Старый экспорт сразу блокируется. Пример и очистка сначала показывают замену, которую можно применить и один раз отменить.

Открытые параметры и два вида отпечатков

Поля выбранного алгоритма

Для RSA выводятся экспонента и модуль, для DSA — p/q/g/y, для Ed25519 — публичные байты, для ECDSA — кривая и точка. Размер RSA определяется по модулю. 256 бит Ed25519 — длина кодирования, а не равная RSA оценка стойкости.

Современный и совместимый форматы

Отпечаток SHA256 представлен стандартным Base64 без завершающего заполнения. MD5 состоит из пар строчных шестнадцатеричных цифр с двоеточиями. Оба хеша вычисляются по одному двоичному блоку SSH. Хеширование текстового файла целиком даст другое значение.

Полный отчёт о сравнении

JSON включает тип, битность, комментарий, число байтов, публичные параметры и отпечатки каждого ключа. sameKey равен null при одном ключе и true или false при двух. Это позволяет отличить отсутствие сравнения от несовпадения.

Допустимые форматы и границы проверки

По одному обычному ключу в каждом поле
Поддерживаются RSA, Ed25519, устаревший DSA и ECDSA nistp256/384/521. Для DSA нужны p на 1024 бита и q на 160 бит. Точка ECDSA должна быть несжатой и нужной длины. Лимит поля — 16 384 единицы UTF-16.
Без закрытых ключей и других контейнеров
Закрытые ключи отклоняются. PEM, DER, JWK, RFC4716, сертификаты, FIDO sk-*, префиксы хостов, параметры авторизации и списки ключей не поддерживаются. Нет импорта файлов, запросов к хостам, генерации, подписи или попыток входа.
Строгое декодирование без исправлений
Внешние пробелы разрешены. Base64 допускает правильное заполнение или его отсутствие, но не URL-символы и неканонические остаточные биты. Внешний и внутренний типы должны совпадать. Обрезанные поля, отрицательные или избыточно записанные mpint и лишние байты отклоняются.
Структура не подтверждает доверие
Принадлежность точки кривой, множители RSA и свойства группы DSA не проверяются. Результат не подтверждает владельца, подпись, подлинность сервера или право доступа. MD5 и DSA оставлены для чтения старых записей; оценки безопасности здесь нет.
Обновление и однократная отмена
Даже изменение комментария делает отчёт устаревшим. Очистка и пример показывают объём замены перед применением. Отмена восстанавливает ввод и результат; следующее редактирование удаляет предыдущий снимок. Исходная строка не переписывается для исправления ошибок.

Проверка ключей SSH: частые вопросы

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

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

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

Можно прочитать алгоритм, размер, комментарий и открытые параметры, а также вычислить отпечаток открытого ключа. Эти сведения не раскрывают закрытую часть и не определяют владельца. Комментарий — произвольная метка, а не подтверждённое имя пользователя.

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

Для поддерживаемых обычных ключей используются тот же двоичный блок и те же форматы хеша. Сверьте ssh-keygen -lf key.pub либо -l -E md5 -f key.pub. Идентификаторы облачных пар ключей могут рассчитываться иначе и не обязаны совпадать.

Как проверить, что загруженный публичный ключ совпадает с локальным?

Вставьте локальную строку .pub и полный публичный ключ из интерфейса платформы в два поля. Совпадение означает одинаковые байты ключа; комментарии могут различаться. Наличие ключа в конфигурации сервера и разрешения на вход инструмент не проверяет.

Почему появляется «Permission denied (publickey)», если ключи совпали?

Проверьте имя учётной записи, выбранный клиентом закрытый ключ, authorized_keys и политику алгоритмов сервера. Совпадающий отпечаток только идентифицирует публичные данные. Эта страница не подключается к серверу и не изменяет его настройки или разрешения.

Нужен другой формат?

Начните с известной пары

Проверка ключей SSH на примере показывает, почему изменение комментария не меняет ключ. Затем замените одну строку другим публичным ключом и сравните результат.