• ssh The authenticity of host '10.11.26.2 (10.11.26.2)' can't be established



    The authenticity of host '10.11.26.2 (10.11.26.2)' can't be established. ECDSA key fingerprint is SHA256:8Dc40hVvLGlPkLiv5IWEQZyjeFb2fPwQCcqhBCkMuPk. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '10.11.26.2' (ECDSA) to the list of known hosts.

    ssh连接新机子的时候会报这个提示,原理:

    SSH 公钥检查是一个重要的安全机制,可以防范中间人劫持等黑客攻击。但是在特定情况下,严格的 SSH 公钥检查会破坏一些依赖 SSH 协议的自动化任务,就需要一种手段能够绕过 SSH 的公钥检查。

    SSH 连接远程主机时,会检查主机的公钥。如果是第一次该主机,会显示该主机的公钥摘要,提示用户是否信任该主机。

    当选择接受,就会将该主机的公钥追加到文件 ~/.ssh/known_hosts 中。当再次连接该主机时,就不会再提示该问题了。

    该IP地址的公钥改变了,当使用 SSH 连接的时候,会报错,删除known_hosts文件
    如何让连接新主机时,不进行公钥确认?

    在首次连接服务器时,会弹出公钥确认的提示。这会导致某些自动化任务中断。SSH 客户端的 StrictHostKeyChecking 配置指令,可以实现当第一次连接服务器时,自动接受新的公钥。只需要修改 /etc/ssh/ssh_config 文件,包含下列语句:

    Host *
     StrictHostKeyChecking no
    

    或者在 ssh 命令行中用 -o 参数

    $ ssh -o StrictHostKeyChecking=no  192.168.0.110
    

    如何防止远程主机公钥改变导致 SSH 连接失败

    当确认中间人劫持攻击风险比较小的情况下,才可以使用下面的方法,禁用 SSH 远程主机的公钥检查。 SSH 客户端提供一个 UserKnownHostsFile 配置,允许指定不同的 known_hosts 文件。那么将 known_hosts 指向不同的文件,不就不会造成公钥冲突导致的中断了么?

    $ ssh -o UserKnownHostsFile=/dev/null 192.168.0.110
    The authenticity of host '192.168.0.110 (192.168.0.110)' can't be established.
    RSA key fingerprint is e9:0c:36:89:7f:3c:07:71:09:5a:9f:28:8c:44:e9:05.
    Are you sure you want to continue connecting (yes/no)?
  • 相关阅读:
    利用锚点制作简单索引效果
    BOM之location对象
    引入CSS
    对象继承
    indexOf、instanceOf、typeOf、valueOf详解
    JSON详解
    浏览器兼容性-JS篇
    gcc堆栈排列的建议(译文)
    VLAN 学习
    DPDK KNI 接口2
  • 原文地址:https://www.cnblogs.com/cjjjj/p/10027314.html
Copyright © 2020-2023  润新知