4

首次使用 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

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

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

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

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

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

4

1 回答 1

6

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

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

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

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

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

于 2021-10-22T12:43:37.703 回答