# SSH 密钥指纹

计算 OpenSSH 公钥的指纹，结果与 ssh-keygen -l 的输出完全一致。粘贴一行来自 id_ed25519.pub、authorized_keys 或 known_hosts 的内容，或 RFC 4716 SSH2 公钥块，即可获取 SHA-256 指纹（base64 格式）、旧版 MD5 指纹（冒号分隔的十六进制格式）、密钥类型、长度和注释。支持 RSA、DSA、ECDSA、Ed25519 和 FIDO 安全密钥，每次最多处理 100 个密钥。

## 常见问题

### 此工具需要什么输入？

粘贴一行 OpenSSH 公钥，例如 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... user@host，每行一个密钥。也支持前面带选项的 authorized_keys 行，以及前面带主机名的 known_hosts 行，因为密钥类型位于行内。空行和以 # 开头的行会被跳过。

### SHA-256 指纹是如何计算的？

base64 密钥数据会先解码为二进制密钥块，再使用 SHA-256 进行哈希，并写为 SHA256: 后接不带末尾 = 填充的 base64。这是 ssh-keygen -l、OpenSSH 主机密钥提示和 GitHub 使用的格式。

### MD5 指纹有什么用途？

较早的 OpenSSH 版本（6.8 之前）和某些托管控制面板仍会显示 MD5 格式：16 个字节，以小写十六进制数对表示，并用冒号分隔。其前缀为 MD5:，与 ssh-keygen -E md5 -l 一致。比较时建议使用 SHA-256。

### 支持哪些密钥类型？

支持 ssh-rsa、ssh-dss、ssh-ed25519、ecdsa-sha2-nistp256、nistp384 和 nistp521，以及 FIDO 安全密钥类型 sk-ssh-ed25519@openssh.com 和 sk-ecdsa-sha2-nistp256@openssh.com。不支持以 -cert-v01@openssh.com 结尾的 OpenSSH 证书。

### 如何确定密钥长度？

RSA 和 DSA 密钥会报告其模数或素数的位数；ECDSA 密钥会根据曲线报告 256、384 或 521；Ed25519 密钥会报告 256。工具还会检查密钥块内部的类型是否与前置类型一致。

### 可以粘贴 RFC 4716 SSH2 公钥吗？

可以。工具会读取 PuTTYgen 和某些商业 SSH 服务器导出的 ---- BEGIN SSH2 PUBLIC KEY ---- 与 ---- END SSH2 PUBLIC KEY ---- 之间的内容，并读取其 Comment 标头。每个块计为一个密钥。

### ssh-keygen 输出行显示什么？

它会复现 ssh-keygen -l -f key.pub 的输出：长度、SHA-256 指纹、注释和括号中的类型，例如 256 SHA256:... user@host (ED25519)。如果密钥没有注释，则不会显示注释，与 ssh-keygen 的行为一致。

### 可以粘贴私钥吗？

不可以，也不应该这样做。此工具只读取公钥。若要在自己的计算机上从私钥文件获取公钥，请运行 ssh-keygen -y -f ~/.ssh/id_ed25519，然后粘贴其输出。

### 为什么我的密钥被报告为无效？

base64 数据可能不完整、被换行拆开或与其他密钥混在一起，也可能是前置类型与密钥块不匹配。请重新从 .pub 文件复制完整的一行，并保持在单行内。

### 有数量限制吗？会保存任何内容吗？

每次最多可粘贴 100 个密钥和 262,144 个字符。公钥仅在处理本次请求时保存在内存中，绝不会记录或保存。

在这里投放广告？

[给我们发邮件](mailto:hi@dennn.is?subject=%E5%9C%A8%20OneClick%20Pro%20%E4%B8%8A%E6%8A%95%E6%94%BE%E5%B9%BF%E5%91%8A)

[广告 适用于 WordPress 的智能体就绪型插件套件。](https://sleekwp.com/?ref=oneclickpro)
