Эти два идентичны. Почему? Я думал, что отпечаток RSA — это выход хэш-функции, что означает, что два разных входа (закрытый и открытый ключ) должны давать два разных выхода.
user$ ssh-keygen -lf ~/.ssh/id_rsa
2048 SHA256:zZ2qBu6JGxlTWnLUUDU4UFl8uzLPCoi8ze1BPII/Uhc etc etc
user$ ssh-keygen -lf ~/.ssh/id_rsa.pub
2048 SHA256:zZ2qBu6JGxlTWnLUUDU4UFl8uzLPCoi8ze1BPII/Uhc etc etc
решение1
Отпечаток пальца вычисляется как хэш, но он не вычисляется путем слепого хэширования входного файла — протокол обычно точно указываеткоторыйчасти ключа для хэширования и в каком порядке. (И это может отличаться в зависимости от протокола: открытый ключ SSHv2 будет иметь другой отпечаток, чем открытый ключ PEM, даже если они содержат абсолютно идентичные параметры RSA.)
Обычное правило везде таково, что отпечаток пальцавсегдана основе хеширования только публичной части; так полезнее. Поскольку публичный ключ всегда можно вывести из файла закрытого ключа (который на самом деле содержит все параметры, как открытые, так и закрытые), это означает, что вы всегда вычислите правильный тип отпечатка пальца.
Например, если бы первая команда показала другой тип отпечатка (тот, который можете вычислить только вы), он был бы совершенно бесполезен для передачи, например, системному администратору, который устанавливает ваш ключ на сервер. То же самое относится к отпечаткам в X.509 и PGP – их основное назначениеявляетсябыть короткой строкой для совместного использования.