无法确定主机的真实性,但该主机位于known_hosts 文件中

无法确定主机的真实性,但该主机位于known_hosts 文件中

为了跳过初始 SSH 协商,我在文件中添加了要连接的服务器的公钥known_hosts,如下所示这些建议。
但是,当尝试连接到服务器时,似乎无法识别:

user@hostname:~$ ssh -p SERVER_PORT other@SERVER_IP
The authenticity of host '[SERVER_IP]:SERVER_PORT ([SERVER_IP]:SERVER_PORT)' can't be established. 
ECDSA key fingerprint is SHA256:prZ6ezy5sWx+LUEXw5MQzJcbQci6Ji97vnS5Q0izSH0. 
Are you sure you want to continue connecting (yes/no)?

我该如何解决呢?

更新:

ssh使用启动-vvv,我可以看到以下行:

debug1: Server host key: ecdsa-sha2-nistp256 SHA256:prZ6ezy5sWx+LUEXw5MQzJcbQci6Ji97vnS5Q0izSH0

我在其中known_hosts添加了:

SERVER_IP_HASH ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDLoZMOumyWDus/tR2B1B3Hkk6EYBYpzcLxYOliVypmSGtzXBNVikF8Gh/hB1/7H6v+aUNee//GID5p5w6xTIm1CTO8qhzH6hUdnLIv42QLWoEqKagAYvnGzElLf2s/JEcFzMEqRmzqXbD8Gk7hQdCFF/Ral4b+LBB7Ul2/KjrhjmH6u8hUwNZAx1mHtguyBRTP9EAuJlSl5e2GQq4AjpPBQJPnVAZugjdtisMjlWoZ9kwavqNhj9O0C6/vh/WpXDk6khVsm5yf6HyAHDpbau2lpWuNrEPeMZQat27nXzw7YMvETyCtjnrbflOI03PLrpugR3FBGKiio3k1Mh7tfOGpKNkUyN5uLOEs9cyGQTkPX7YQmk8liHy26R5rG80dLjVQ/09fbzZrp+s+tqQW2vNDJ9T3UzFBbA3LlVZYgUR8U0YS+LPVOPQmYmhc39NQcenO5BYzqKS99VGLoSUrm0k+2ll+ExGDCiTCiFWjUX2J+SSVXhoaH2PpQFPwDIE8diM+EGEeALFUuWV/1q2Djd25ZWvZAQpcXOpRhD1+xR+y5/UZKwpqHyxrHxGMozfwa+JjbY13RRJSxZXnfAPiazqw1A10e5gpPctyTw9z8fx+vwhwB5NgcE5dAz4278Ni7kijd4W93K5cUQFoN+9lK1FVufYThMTIRWFKcE5wG5CSKw== COMMENT

答案1

一台服务器可以有多个主机密钥。在您的情况下,您已指定 RSA 主机密钥,但服务器向您提供 ECDSA 主机密钥。由于这些不是相同的主机密钥,因此系统会提示您。

通常,OpenSSH 更喜欢已经拥有密钥的主机密钥算法,而不是没有密钥的主机密钥算法,因此这应该是开箱即用的。但是,如果您已显式配置该HostKeyAlgorithms选项,OpenSSH 将尊重它并首选您指定的算法。您可以查看您的~/.ssh/config文件和/etc/ssh/ssh_config文件以查看是否是这种情况,如果是这样,请向您的~/.ssh/config文件添加一个条目,如下所示:

# Update with the real IP address.
Host 192.0.2.1
  HostKeyAlgorithms rsa-sha2-512,rsa-sha2-256,ssh-rsa

ssh-rsa请注意,这会启用 SHA-1 签名 ( ),您应尽可能避免使用该签名。如果您知道服务器支持 SHA-2 签名,则可以将其删除。

也可能是您明确添加的条目不正确。有些系统(例如 Debian)使用散列条目,而其他系统则不使用。您必须检查相同的配置文件HashKnownHosts并相应地调整条目。您可以使用ssh-keygen -F 192.0.2.1 -l(替换 IP 地址)来查看该条目是否匹配。

相关内容