aircraftdeMacBook-Pro:~ ldl$ ssh [email protected]
The authenticity of host '103.35.202.76 (103.32.202.71)' can't be established.
RSA key fingerprint is SHA256:w9u+mNFvkMg8lNydqJ/ZT6tV0lX/pwGIf1rWfYW1w0s.
Are you sure you want to continue connecting (yes/no)?
这是什么意思:RSA key fingerprint is SHA256:
?
为什么会出现这种情况?
如果我选择“是”,我会得到以下信息:
Warning: Permanently added '103.35.202.76' (RSA) to the list of known hosts.
Connection to 103.35.202.76 closed by remote host.
Connection to 103.35.202.76 closed.
我搜索了 Unix & Linux,发现SSH 如何显示“主机的真实性..无法建立”消息?。
在我的终端中测试:
aircraftdeMacBook-Pro:~ ldl$ open("/dev/tty", O_RDWR) = 4
-bash: syntax error near unexpected token `"/dev/tty",'
答案1
与任何类型的安全连接一样,您不仅想知道您的连接一旦建立,在通信双方之间是私有的并且可以防止篡改,而且您还想知道您正在与您认为的端点进行通信你一开始就在和你说话。密码学非常适合解决第一个问题,但它根本无法解决第二个问题(尽管它提供了帮助解决它的工具)。你需要一个PKI来解决第二个问题。
SSH没有复杂的PKI,也没有PGP普及的信任网络系统,也没有HTTPS和SSL普及的自上而下的认证系统。因此,它无法保证连接另一端响应的服务器确实是您尝试连接的服务器。连接可能已在加密下方的 TCP 或 IP 级别重定向,而加密无法注意到。
因此,当您第一次连接到任何 SSH 服务器时,它会要求您通过外部方式确认服务器提供的指纹是否确实与您要连接的服务器的指纹相对应。您可以在带外安全地验证这一点,或者当然,您可以自担风险,无论如何您都可以回答“是”并抓住机会。
SSH做有一种迷你PKI:第一次之后,它会记住服务器的指纹,以便当您再次连接到同一服务器时,它可以检查它是否与之前相同。