我查看了 ssh 的手册页,但我仍然一无所知。当您使用 ssh 连接到远程主机时,它会显示如下内容:
ssh [email protected]
The authenticity of host '10.11.12.13 (10.11.12.13)' can't be established.
ECDSA key fingerprint is SHA256:CwrcHjdd9349u38rj392fr9j389rj3298rj23.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
我认为:
- 是 - 连接并在已知主机文件中写入指纹
- 否 - 不连接(它显示“主机密钥验证失败。”)
第三个选项[指纹]是什么?
此提示允许您粘贴实际指纹作为响应;ssh 本身会将其与通过网络看到的公钥进行比较。如果两者都匹配,则假定答案为
yes
。(当然,你应该从一个合理可信的来源复制指纹——而不是从同一个确认消息!)
除了比手动比较快之外,这还避免了“模糊指纹”攻击,即假主机密钥的指纹在视觉上与真实的相似(因为人们通常只查看第一个和最后几个字母而跳过其余的)。
此功能是在 OpenSSH 8.0 中添加的。