Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security SSH:自签名-无法建立主机时的真实性_Security_Ssh_Self Signed_Man In The Middle - Fatal编程技术网

Security SSH:自签名-无法建立主机时的真实性

Security SSH:自签名-无法建立主机时的真实性,security,ssh,self-signed,man-in-the-middle,Security,Ssh,Self Signed,Man In The Middle,每次尝试连接到服务器时,我都会收到来自SSH客户端的下一条消息: 无法确定主机“XXX”的真实性。ECDSA密钥指纹是SHA256:。。。 是否确实要继续连接(是/否/[fingerprint]) 我明白,这条信息应该只是我第一次连接,而不是每次。 为什么会这样 这是否意味着它是一个自签名的证书 祝你有愉快的一天 您可以尝试的东西很少: 确保~/.ssh/known_主机是可写的。因为系统将尝试将主机密钥添加到此文件中 根据您的ssh客户端,您可以在命令行上将StrictHostKeyCheck

每次尝试连接到服务器时,我都会收到来自SSH客户端的下一条消息:

无法确定主机“XXX”的真实性。ECDSA密钥指纹是SHA256:。。。 是否确实要继续连接(是/否/[fingerprint])

我明白,这条信息应该只是我第一次连接,而不是每次。 为什么会这样

这是否意味着它是一个自签名的证书


祝你有愉快的一天

您可以尝试的东西很少:

  • 确保~/.ssh/known_主机是可写的。因为系统将尝试将主机密钥添加到此文件中

  • 根据您的ssh客户端,您可以在命令行上将StrictHostKeyChecking选项设置为no,和/或将密钥发送到一个空的已知\u hosts文件。您还可以在配置文件中为所有主机或给定的一组IP地址或主机名设置这些选项

  • ssh-o UserKnownHostsFile=/dev/null-o StrictHostKeyChecking=no

    这个选项不是很安全,因为它可能会造成中间人攻击。在做这个之前请仔细考虑。

  • [不安全]除“StrictHostKeyChecking”外,另一种方法是使用“BatchMode”。这样,您的脚本将接受一个新主机名并将其写入已知的\u hosts文件,但不需要是/否干预

  • ssh-o BatchMode=yes-o StrictHostKeyChecking=nouser@server.example.com“正常运行时间”

    非常感谢!这是否意味着它是自签名证书?或者它不相关?SSH与自签名证书无关。它与您生成的密钥(私有、公共)一起工作。非常感谢!!