Анализатор на SSH ключове
Анализирайте и изследвайте SSH публични ключове. Извличайте тип на ключа, алгоритъм, размер на ключа, fingerprint-и (SHA-256, MD5) и коментари от OpenSSH публични ключове.
Вход
Изход
Прочети ме
Какво е SSH публичен ключ?
SSH публичният ключ е едната половина от криптографска двойка ключове, използвана за сигурна автентикация чрез протокола SSH (Secure Shell). Когато генерирате двойка SSH ключове, получавате частен ключ (пазен в тайна на вашата машина) и публичен ключ (споделян със сървърите, до които искате достъп). Сървърът използва вашия публичен ключ, за да потвърди самоличността ви, без да се предава парола.
SSH публичните ключове се съхраняват като един ред текст в OpenSSH формат, съдържащ три части: типа на ключа (като ssh-rsa или ssh-ed25519), данните на ключа, кодирани в Base64, и незадължителен коментар (обикновено user@hostname). Вградена в Base64 данните е структурирана двоична информация, включваща параметрите на алгоритъма и самия криптографски материал.
Fingerprint-ите са кратки, четими от човека хешове на данните на ключа. Те улесняват проверката и сравнението на ключове, без да се чете пълният Base64 низ. Двата най-разпространени формата за fingerprint са SHA-256 (съвременният стандарт по подразбиране) и MD5 (остарелият формат с шестнадесетични двойки, разделени с двоеточие).
Описание на инструмента
Този инструмент анализира SSH публични ключове в OpenSSH формат и извлича всички важни метаданни. Поставете вашия публичен ключ и незабавно вижте типа на ключа, алгоритъма, размера на ключа в битове, коментара и fingerprint-ите SHA-256 и MD5 — съответстващи на резултата, който бихте получили от ssh-keygen -l.
Примери
Вход:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl user@laptopИзход:
| Поле | Стойност |
|---|---|
| Тип на ключа | ssh-ed25519 |
| Алгоритъм | Ed25519 |
| Размер на ключа | 256 бита |
| Коментар | user@laptop |
| Fingerprint SHA-256 | SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 |
| Fingerprint MD5 | MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 |
Функции
- Поддържа типове ключове RSA, Ed25519, ECDSA (P-256, P-384, P-521), DSA и Security Key (FIDO)
- Изчислява fingerprint-и SHA-256 и MD5 в стандартен OpenSSH формат
- Извлича размера на ключа в битове директно от двоичните данни на ключа
- Валидира структурата на ключа, включително целостта на Base64 и съответствието на вградения тип
- Анализира незадължителното поле за коментар от реда на публичния ключ
Как работи
Инструментът разделя входа на три части: тип на ключа, Base64 данни и коментар. След това декодира Base64 данните в двоичен формат и чете вътрешната структура, използвайки SSH формата с полета с предшестваща дължина, при който всяко поле започва с 4-байтова дължина в big-endian формат, последвана от данните на полето. Размерът на ключа се определя от специфичните за алгоритъма параметри — при RSA това е битовата дължина на модула n, при DSA е простото число p, а при ключове с елиптична крива се извежда от името на кривата. Fingerprint-ите се изчисляват чрез хеширане на необработените двоични данни на ключа с SHA-256 и MD5.
Поддържани типове ключове
| Идентификатор на типа | Алгоритъм |
|---|---|
ssh-rsa |
RSA |
ssh-ed25519 |
Ed25519 |
ecdsa-sha2-nistp256 |
ECDSA (P-256) |
ecdsa-sha2-nistp384 |
ECDSA (P-384) |
ecdsa-sha2-nistp521 |
ECDSA (P-521) |
ssh-dss |
DSA |
sk-ssh-ed25519@openssh.com |
Ed25519-SK (Security Key) |
sk-ecdsa-sha2-nistp256@openssh.com |
ECDSA-SK (Security Key) |
Случаи на употреба
- Проверка на fingerprint-и на ключове — Потвърдете, че публичен ключ съответства на очаквания fingerprint, преди да го добавите към
authorized_keysили услуга за хостинг на Git - Одит на достъпа до сървъра — Бързо идентифицирайте алгоритъма и размера на ключовете във вашия файл
authorized_keys, за да намерите слаби или остарели ключове - Отстраняване на SSH проблеми — Проверете дали даден ключ е в правилния формат, използва очаквания алгоритъм и има валидна структура
Често задавани въпроси
Къде мога да намеря моя SSH публичен ключ?
На повечето системи той се съхранява на ~/.ssh/id_ed25519.pub, ~/.ssh/id_rsa.pub или подобен път в зависимост от алгоритъма. Можете също да изпълните ssh-add -L, за да изброите ключовете, заредени в SSH агента ви.
Безопасно ли е да споделям публичния си ключ? Да. Публичният ключ е предназначен за споделяне. Той не може да бъде използван за извеждане на частния ключ или за автентикация от ваше име.
Защо fingerprint-ите SHA-256 и MD5 изглеждат различно?
SHA-256 fingerprint-ите са кодирани в Base64 и имат префикс SHA256:, докато MD5 fingerprint-ите използват шестнадесетични двойки, разделени с двоеточие, с префикс MD5:. SHA-256 е стандартът по подразбиране в съвременните версии на OpenSSH.