不连接主机检查已保存的 SSH 记录
查询一份 known_hosts 副本,理解明文与哈希匹配,并在完整本地报告中保留标记和原始行。
使用副本和明确查询
选择一份保存的 UTF-8 known_hosts,或粘贴其内容。文件优先于文本,切换输入方式前先移除文件。主机与整数端口分别填写,不需要路径、URL、用户名或 SSH 命令;浏览器不会枚举用户主目录或另行读取文件。
主机是字面查询。明文模式忽略大小写,加盐哈希按确切查询字节比较。非默认端口使用 [host]:port,包括 IPv6 的方括号。不同别名或 IPv6 压缩拼写可能需要分别查询;不会解析地址或猜测别名。
先看匹配规则再看指纹
逗号分隔的正向模式匹配后,仍需检查是否有匹配的否定模式。*.example,!blocked.example 适用于 demo.example,却排除 blocked.example。全部匹配行都会保留,第一条匹配不会遮住后面的 revoked 或 CA 行。
| 记录形式 | 本地查询含义 | 边界 |
|---|---|---|
| demo.example,192.0.2.10 | 两个明确别名均可匹配 | 不推断 DNS 等价 |
| *.example,!blocked.example | 正向通配符与排除项 | 匹配否定项优先 |
| |1|salt|digest | 确切给定查询通过加盐 HMAC-SHA1 | 不找回未知名称 |
| @revoked / @cert-authority | 保留适用行上的标记 | 不作远端信任判断 |
核对可复现示例
起始示例含使用同一合成 Ed25519 公钥的三条记录:别名行、通配符行和已撤销行。查询 demo.example 的 22 端口会得到三条适用记录,其中一条有 revoked 标记。查询 blocked.example 在此示例中没有匹配,因为通配符排除项生效。
已解析公钥的 SHA256 指纹标识公钥字节。三条示例行的指纹相同,但主机规则与标记不同。单凭指纹相同,无法证明记录来源或服务器当前提供的公钥。
SHA256:ZkAslGjFiUHdGf/WUL8rQvkib4PTvQatUV0OUQSncCA区分不支持公钥与未匹配公钥
匹配的 ssh-rsa、ssh-ed25519 会先结构解码再计算指纹。匹配公钥损坏或类型不受支持,会使完整结果失败,不产生猜测指纹。未匹配的公钥保留在 JSON 并明确为未验证;查询一个主机不是认证整份文件。
物理行计数包含空行和注释,仍能回到原副本定位。rawLine 保留原记录拼写和空白;标记、匹配正向模式与匹配否定模式分别记录,不被摘要表格替代。
保存完整报告并从错误恢复
页面以每页 100 行预览最多 200 条匹配。下载 JSON 包含所有记录与匹配,CSV 包含全部匹配原行和指纹。页面 JSON 是有界预览;大型交付以下载为准,并在接收软件中核对完整数量。
输入最多 1 MiB、10,000 个物理行,每行 8,192 字节、32 个模式;全程模式比较和合计下载字节也有明确上限。达到限制或出现无效匹配公钥时整体失败。修正所指输入并重新运行,检查新报告后再使用旧副本信息。
- 报告与原 known_hosts 副本一起保留。
- 核对确切主机拼写和非默认端口。
- 阅读全部 revoked 或 CA 标记,不把存在记录当作批准信任。
- 公钥指纹需与另行可信的公钥资料比较。
- 零匹配只表示此次查询结果,不构成权限或安全结论。
参考资料
- OpenBSD sshd:SSH_KNOWN_HOSTS
已保存主机模式、公钥与标记的官方格式,作为独立正确性参考。
本分类工具使用说明
展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。
查找 SSH 已知主机记录按给定主机与端口查找本地 known_hosts 记录,保留匹配解释及受支持公钥的指纹。
粘贴或选择保存的 OpenSSH known_hosts,再填写要检查的确切主机与端口。找出全部适用的明文、通配符或加盐哈希记录,并保留 revoked 与证书颁发机构标记。报告解释记录为何匹配;不会连接主机或作出信任决定。
操作步骤
- 粘贴记录或选择一份本地 known_hosts,再填写主机和端口。
- 检查全部匹配的物理行、标记与解释;已撤销的匹配记录也会保留。
- 下载完整 JSON/CSV,将受支持公钥指纹与另行可信的资料比较,并保留原文件。
可调选项
- 要检查的主机(不带端口)
- demo.example
按确切给定拼写查询;非默认端口使用 [host]:port。
- SSH 端口
- 22
- 保护 CSV 公式形单元格
- 默认开启
能力与限制
- 一份 UTF-8 文件或粘贴文本,最多 1 MiB、10,000 个物理行,每行最多 8,192 个 UTF-8 字节。忽略空行与整行 # 注释。选中文件优先于文本,切换粘贴前需移除文件;接受 UTF-8 BOM 和 CRLF,拒绝其他控制字符。
- 填写不带端口的 ASCII 主机名、IPv4 字面值或 IPv6 地址,另填 1–65535 整数端口。22 端口查询给定主机,其他端口查询 [host]:port。逗号分隔的明文模式支持 *、? 和 ! 否定,忽略大小写;每行最多 32 个模式,全程最多 5,000,000 次模式比较。
- OpenSSH |1| 加盐 HMAC-SHA1 主机哈希须使用规范的带填充 Base64,以及 20 字节盐与摘要;按给定查询的确切大小写进行比较。不反解未知哈希,不支持其他哈希版本或标记。
- 仅对匹配的 ssh-ed25519、ssh-rsa 公钥结构解码并计算 SHA256 指纹。任何匹配的其他公钥类型或损坏公钥使本次结果失败。未匹配公钥明确保留为未验证;不检查私钥、签名、证书链或远端主机。
- 完整 JSON 保留全部原始记录行与匹配解释。CSV 包含全部匹配原行和指纹,默认保护公式形单元格。页面表格以每页 100 行预览前 200 条匹配,文本为有界报告预览;全部下载合计最多 10 MiB,超过上限整体失败。