SSH 主机真实性检查期间“[指纹]”选项的用途是什么?

bN_*_*bN_ 8 git ssh authenticity fingerprint

首次使用 SSH 连接 git 存储库时,会要求根据主机指纹确认主机的真实性:

The authenticity of host 'github.com (192.30.255.112)' can't be established.
RSA key fingerprint is SHA256:....
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Run Code Online (Sandbox Code Playgroud)

我们有 3 个选择:“是”、“否”和“[指纹]”。我很理解“是”和“否”的回答:

yes = 我已经检查了主机的指纹,没有问题,请连接我。

no = 主机指纹不同,请不要连接我。

但我没有找到任何关于第三个选项的文档。在我检查的每一份文档中,例如Microsoft 的文档Heroku 的文档,只有两个选项:“是”或“否”。

为什么我有第三个选项“[指纹]”?它的用途是什么?

Sab*_*eur 9

每个 ssh 服务器都有主机 ssh 密钥,用于

  1. 验证主机,然后检查您是否连接到同一主机
  2. 建立安全连接(以安全方式交换凭证)

因此,第一次连接到任何 ssh 服务器时,您将获得公钥和该密钥的指纹,以及将指纹存储在“已知主机”文件中的建议。

指纹是除了“是”之外的一个新选项,因此如果您通过其他方式收到指纹,可以手动提供指纹。 https://github.com/openssh/openssh-portable/commit/05b9a466700b44d49492edc2aa415fc2e8913dfe

似乎联机帮助页尚未更新。