不用担心。

不用担心。

我刚刚将 Linux Mint 安装为虚拟机。我安装了 OpenSSH,然后移至主机 (macOS),并在终端中打开 Bash 会话以通过 SSH 连接到 Linux Mint VM。当我这样做时,我收到了消息

The authenticity of host '<<IP address>>' port <<port#>>: can't be established.
ECDSA key fingerprint is SHA256:<<blahblahblahblahblahblah>>.
Are you sure you want to continue connecting (yes/no)?  

我在这里的设置中是否做错了什么?如果是,该如何纠正?

答案1

不用担心。

这是第一次连接新主机时看到的标准提示。

我在这里的设置中是否做错了什么?如果是,该如何纠正?

没问题。当你第一次连接到新主机时 — — 不仅仅是在 Linux 机器上,即使你要连接到另一台 macOS 主机 — — 它会问你这个问题:

Are you sure you want to continue connecting (yes/no)?

只需回答yes,该主机的哈希/指纹值就会添加到~/.ssh/known_hosts您的主目录中。自己检查一下;只需在回答之前~/.ssh/known_hosts使用 Nano ( nano ~/.ssh/known_hosts) 或任何其他文本编辑器打开yes,然后再次运行该 SSH 命令,回答yes并再次检查。新主机的哈希/指纹值将位于该文件的底部。

这些哈希的好处是,如果有人试图对主机进行中间人攻击,主机的哈希/指纹值将会改变,SSH 会抛出一个更令人恐慌的警告,告诉你:

“喂,那个宿主看起来不像是……小心啊!”

您看到的对话框文本只是第一个连接查询,其基本内容是:

“嘿,您之前从未连接过此主机。让我确认您确实想要连接,并从/.ssh/known_hosts此刻起让我保存该主机的哈希/指纹。”

更多信息可参阅本文“OpenSSH/客户端配置文件”:

此文件位于用户帐户本地,包含远程主机的已知密钥。这些密钥通常是在首次连接时从主机收集的,但也可以手动添加。与存储在全局文件中的密钥一样,/etc/ssh/ssh_known_hosts,这些密钥用于验证远程主机的身份,从而防止冒充或中间人攻击。每次后续连接时,都会将该密钥与远程服务器提供的密钥进行比较。如果匹配,则连接将继续。如果匹配失败,远程控制将失败并显示错误消息。如果该远程主机根本没有列出密钥,则将显示密钥的指纹,并且将有选项自动将密钥添加到文件中。此文件可以手动创建和编辑,但如果不存在,它将由远程控制当它第一次连接到远程主机时。

答案2

使用ssh-keygen -lf以下方式验证密钥指纹按照教程

如果指纹验证后不匹配,您应该放弃连接,转储旧密钥并尽快生成新密钥。

相关内容