SSH 主机真实性检查期间"[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

我们有三个选择:"是", "不是"one_answers"指纹"。我很明白"是"这个词。和";no"回应:

yes =我检查了主机的指纹,没有问题,请帮我接通。

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

但是我没有找到任何关于第三种选择的文档。在我查看的每一份文档中,比如微软的这一份或Heroku的这一份,只有两个选项:"是"或"no".

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

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

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

所以当你第一次连接到任何ssh服务器时,你会得到公钥和这个密钥的指纹,并建议将指纹存储在"已知主机"中;文件。

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

似乎手册页还没有更新。

相关内容

最新更新