此 SSH 消息是什么意思:“无法确定主机 [...] 的真实性。您确定要继续连接吗(是/否)?”

Zor*_*ora 6 linux ssh

我刚刚安装了 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)?  
Run Code Online (Sandbox Code Playgroud)

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

Gia*_*968 6

不用担心。

\n\n

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

\n\n
\n

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

\n
\n\n

你\xe2\x80\x99 很好。当您首次连接到新主机 \xe2\x80\x94 时,不仅在 Linux 计算机上,而且即使您要连接到另一个 macOS 主机 \xe2\x80\x94 时,它也会问您这个问题:

\n\n
Are you sure you want to continue connecting (yes/no)?\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

这些哈希值的好处是,如果有人尝试对主机进行中间人攻击,则主机\xe2\x80\x99s 哈希/指纹值将发生变化,并且 SSH 会抛出更加恐慌的警告你基本上:

\n\n
\n

\xe2\x80\x9c嘿,那个主机\xe2\x80\x99t看起来不像谁似乎是\xe2\x80\xa6小心!\xe2\x80\x9d

\n
\n\n

您看到的对话框文本只是第一个连接查询,基本上显示:

\n\n
\n

\xe2\x80\x9c嘿,您以前从未连接过该主机。让我确认您确实想要连接,并让我/.ssh/known_hosts从此时开始保存该主机\xe2\x80\x99s 哈希/指纹。\xe2\x80\x9d

\n
\n\n

更多信息可以在本文 \xe2\x80\x9c OpenSSH/Client 配置文件\xe2\x80\x9d 中找到:

\n\n
\n

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

\n
\n