ssh 要求的指纹是什么?

ssh 要求的指纹是什么?
$ ssh 192.168.29.126
The authenticity of host '192.168.29.126 (192.168.29.126)' can't be established.
ECDSA key fingerprint is SHA256:1RG/OFcYAVv57kcP784oaoeHcwjvHDAgtTFBckveoHE.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

它要求的“指纹”是什么?

答案1

该问题询问您是否信任并希望继续连接到 SSH 无法识别的主机。它为您提供了几种回答方式:

  • yes,您信任该主机并希望继续连接到它。
  • no,您不信任该主机,并且不想继续连接到它。
  • [fingerprint]意味着您可以粘贴指纹,即主机密钥的哈希值,作为问题的答复。如果粘贴的指纹与主机的指纹相同(通过 SSH 发现),则连接继续;否则,它被终止。

肯定回答问题的指纹是实际问题中显示的确切字符串(SHA256:1RG/OFcYAVv57kcP784oaoeHcwjvHDAgtTFBckveoHE在您的情况下)。如果您已将此指纹存储在其他地方,则从那里粘贴它比通过肉眼比较长字符串更容易。

简而言之:第三个答案提供了一种便捷的方法来验证主机的指纹是否是您认为应该的指纹。


使用指纹回答问题被介绍在 OpenSSH 8.0(2019 年)中。

提交消息读取

当接受未知主机密钥时,接受主机密钥指纹作为“是”的同义词。这允许您将带外获得的指纹粘贴到是/否提示中,并让客户端为您进行比较。好的,马库斯@djm@

答案2

在非常抽象的用户级别:指纹源自服务器的加密密钥对,其目的是您有一些其他可信的通信渠道来验证预期值,这使您对自己实际上正在交谈的情况有一定的信心您想要与之交谈的服务器。 (即,您致电系统服务台并要求他们“请向我读出我应该看到的指纹”,他们可能会告诉您您是第一个问他们这个问题的人,他们将不得不这样做了解如何做到这一点。足够新的 openssh 版本可以查看指纹的特殊 DNS 记录,希望能够转移您的 SSH 连接的人无法转移或伪造 DNS 查找。)

或者您的意思是:指纹实际上是如何得出的?

相关内容