保存的 SSH 主机公钥匹配能说明什么
审查 OpenSSH 记录时,区分主机模式匹配、公钥指纹与远端信任,各自保留可核对依据。
保存的记录是过去的声明
known_hosts 将主机模式与公钥字节关联,还可能携带特殊标记。本地查询可以确认给定名称与端口符合所保存的模式,却不能确定文件作者、服务器当前公钥或证书链有效性。
交付记录时分别说明这些问题。本工具提供可复现的模式匹配和受支持公钥指纹;实际操作决定还需要查询以外的依据。生成报告不会连接网络。
| 依据 | 能够说明 | 仍然未知 |
|---|---|---|
| 主机模式匹配 | 保存的这一行适用于给定查询 | DNS、当前终点与文件来源 |
| SHA256 公钥指纹 | 已结构解析的受支持公钥字节身份 | 这些字节是否另有可信来源 |
| revoked 或 CA 标记 | 保存的行携带此标记 | 远端证书或签名是否有效 |
共享公钥不等于共享查询
demo.example,192.0.2.10 明确列出两个别名。另一行可能使用通配符或加盐哈希。同一公钥可以出现在多条适用记录中;指纹相同,保存的匹配规则却不同。
加盐哈希可以比较给定拼写和端口,不能揭示未知主机名称。明文模式忽略大小写,哈希查询保留确切大小写;这一区别不能说明两个名称解析到同一设备。
主机:demo.example
端口:2222
查询:[demo.example]:2222汇总前阅读排除项和标记
在 *.example,!blocked.example 中,被排除的名称不能匹配该通配符行。即使该行不适用,也保留否定匹配的解释。忽略排除项会改变原文件的匹配含义。
匹配的 @revoked 与其他匹配一起保留;@cert-authority 按保存的 CA 标记报告,不验证证书。本工具不会丢弃这些行,也不输出总体 accepted 或 trusted 标志。
用原始行让交付可核对
JSON 为全部记录保存 rawLine、物理行号、模式、标记与匹配细节。CSV 包含全部适用行,页面表格最多预览 200 行。比较完整下载可以避免将可见页面当成全部证据。
CSV 公式保护可能在公式形单元格前加入单引号。需要原始拼写时保留 JSON 和原副本。接收方也可对自己的副本使用 OpenSSH ssh-keygen -F 并比较受支持公钥指纹,无需改变文件。
了解有界解析器的停止点
受支持文本格式有明确的 UTF-8、行、模式和下载上限。匹配类型不是 ssh-rsa 或 ssh-ed25519、未知标记、无效哈希或损坏匹配公钥都会拒绝;未匹配公钥内容明确保持未验证。
这些边界让失败能够解释。零匹配、不支持和保存的撤销记录含义各异。修正输入并重试,不将任何一个结果扩展为完整 SSH 配置或安全审计。
- 保存确切查询、端口与原副本。
- 保留全部匹配行和标记含义。
- 核对完整下载数量及原始行。
- 将公钥来源确认与指纹计算分开。
- 不将本地查询当作实时主机认证。
参考资料
- OpenBSD sshd:SSH_KNOWN_HOSTS
已保存主机模式、公钥与标记的官方格式,作为独立正确性参考。