known_hosts 文件
known_hosts 文件 是什么?
known_hosts 文件OpenSSH 客户端文件(~/.ssh/known_hosts),用于固定服务器公钥,以便 SSH 在主机密钥变化时识别潜在的中间人攻击。
known_hosts 文件为 SSH 服务器身份实现了首次使用即信任(TOFU)模型。首次连接到某主机时,用户需要验证并接受其公钥指纹;随后 OpenSSH 将该主机及其密钥记录到 known_hosts(此外还有系统级的 /etc/ssh/ssh_known_hosts)。再次连接时,OpenSSH 将所获密钥与记录比对,如果不同则拒绝连接并提示可能的 MITM。默认启用主机名哈希(HashKnownHosts yes),即便文件泄露也不会暴露访问过的主机列表。更强的方案包括由 CA 签名的主机证书(TrustedUserCAKeys / @cert-authority)、由 DNSSEC 签署的 DNS SSHFP 记录(RFC 4255),以及在生产访问中通过 StrictHostKeyChecking=yes 拒绝任何交互式确认。
● 示例
- 01
当 known_hosts 中保存的主机密钥不再匹配时,OpenSSH 提示 'REMOTE HOST IDENTIFICATION HAS CHANGED!'。
- 02
使用带 @cert-authority 的 SSH 证书,使数百台服务器无需逐一出现在 known_hosts 中。
● 常见问题
known_hosts 文件 是什么?
OpenSSH 客户端文件(~/.ssh/known_hosts),用于固定服务器公钥,以便 SSH 在主机密钥变化时识别潜在的中间人攻击。 它属于网络安全的 网络安全 分类。
known_hosts 文件 是什么意思?
OpenSSH 客户端文件(~/.ssh/known_hosts),用于固定服务器公钥,以便 SSH 在主机密钥变化时识别潜在的中间人攻击。
如何防御 known_hosts 文件?
针对 known_hosts 文件 的防御通常结合技术控制与运营实践,详见上方完整定义。
known_hosts 文件 还有哪些其他名称?
常见的别称包括: ~/.ssh/known_hosts, SSH 主机 TOFU。