SSH 公钥指纹
计算 SSH 公钥的 MD5 和 SHA-256 指纹(fingerprint),以验证服务器或代码仓库使用的确实是预期的密钥。
工作原理
SSH 公钥是一长串 base64 内容,很难靠肉眼比对。它的指纹(由密钥计算出的短哈希)则可以快速验证:当 SSH 连接要求您确认未知主机的真实性时(「The authenticity of host ... can't be established」),显示的正是这个指纹;在 GitHub/GitLab 上添加新的部署密钥时,显示的也是它。
应该比对哪种指纹,MD5 还是 SHA-256?
新版 OpenSSH 默认显示 SHA-256 指纹(格式为「SHA256:...」)。MD5 格式(十六进制字节对之间用冒号分隔)是旧标准,一些较老的工具仍在使用。请比对与您的客户端或服务所显示格式一致的那一种。
如果指纹与预期不一致,该怎么办?
不要继续连接:指纹与预期不符,可能意味着遭到「中间人」攻击,也可能是服务器密钥确实发生了合法变更(重装、迁移)。请先向服务器管理员确认后再继续。
100% 本地处理:计算完全在您的浏览器中通过 WebAssembly 进行,粘贴的密钥绝不会发送到服务器。