Ssh链接提示无法确定主机真实性的原因是什么?

无法确定主机真实性
让我选yes or no
想知道提示这个的真正原因?是否为服务器不安全
Azure服务器 centos 8.5

第一次使用SSH连接到一个新的主机时,SSH会提示您是否要将该主机的公钥添加到您的本地计算机的known_hosts文件中。为了确保连接到的主机是预期的主机,而不是一个恶意的主机。
提示“无法确定主机的真实性”错误消息,则可能是因为连接到的主机的公钥不在你的known_hosts文件中。您可以选择接受该主机的公钥并将其添加到known_hosts文件中,或者您可以中止连接并检查该主机的公钥是否正确。

要接受该主机的公钥并将其添加到known_hosts文件中,请输入“yes”并按Enter键。

以下内容引用CHATGPT:

这种提示通常是由于您第一次连接到该服务器,您的计算机上没有该服务器的公钥,因此您需要手动确认服务器的真实性。如果您确定这是您预期的服务器,可以选择“yes”来将服务器公钥添加到您的计算机中。

这并不一定意味着服务器不安全,而是一种安全措施,以确保您连接到的确实是您预期的服务器。如果您对服务器的真实性有任何疑问,请联系服务器管理员以获取更多信息。

以下是一个SSH连接的例子:

ssh username@server_address

在连接时,您可能会看到以下提示:

The authenticity of host 'server_address (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?

在这里,您可以选择“yes”来添加服务器公钥,或选择“no”以取消连接。

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
"Ssh链接提示无法确定主机真实性"这个提示通常是因为你第一次链接一个新的服务器,系统不确定这个服务器是否真的是你想链接的那个服务器,可能存在中间人攻击,所以要询问用户是否信任这个服务器。

解决这个问题的最好方法是在第一次链接服务器时记录服务器的公钥,以后每次链接服务器都会对比公钥。如果公钥没有改变,你就可以安全地链接这个服务器。

下面是解决这个问题的详细步骤:

步骤1:链接服务器

使用 ssh 命令链接服务器:

ssh user@server-ip

这个命令会提示你是否信任这个服务器,输入yes 继续。

步骤2:记录服务器公钥

链接成功后,系统会记录服务器的公钥,你可以手动将公钥保存到本地,以后链接服务器就不需要再提示了。

使用 ssh-keyscan 命令获取服务器的公钥:

ssh-keyscan server-ip >> ~/.ssh/known_hosts

这个命令会将服务器的公钥追加到 ~/.ssh/known_hosts 文件中。

步骤3:链接服务器

现在你可以使用 ssh 命令链接服务器了,不会再提示无法确定主机真实性的消息。

ssh user@server-ip

如果服务器的公钥发生了变化,你会收到警告,需要手动检查是否存在安全问题。

代码演示:

#链接服务器
ssh user@server-ip

#获取服务器公钥并保存
ssh-keyscan server-ip >> ~/.ssh/known_hosts

#再次链接服务器
ssh user@server-ip

如果我的回答解决了您的问题,请采纳!

针对首次登录linux主机,为了进一步确认不是非法用户登录,给出的二次验证。
个人认为类似于验证码的功能,防止不合法用户进行访问。