• 更换主机后SSH无法登录的问题


    之前通过SSH远程一台机器(起个名字:cc),某一天把cc重装了一下系统,再SSH时显示密钥验证失败:

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
    Someone could be eavesdropping on you right now (man-in-the-middle attack)!
    It is also possible that a host key has just been changed.
    The fingerprint for the ECDSA key sent by the remote host is
    1e:10:25:81:de:bc:74:92:08:51:ff:ab:49:8d:69:39.
    Please contact your system administrator.
    Add correct host key in /home/username/.ssh/known_hosts to get rid of this message.
    Offending ECDSA key in /home/username/.ssh/known_hosts:6
      remove with: ssh-keygen -f "/home/username/.ssh/known_hosts" -R ***.***.***.
    ECDSA host key for ***.***.***.*** has changed and you have requested strict checking.***
    Host key verification failed.

    当client通过ssh连接server时,会把server的信息保存在自己家目录下的.ssh/known_hosts文件里。如果server被重装或者被替换(IP没变),server的信息肯定就改变了,与之前known_hosts里的信息不一致,从而导致密钥认证失败。

    解决方法也很简单,根据上面的提示信息,server的信息在/home/username/.ssh/known_hosts:6,直接把known_hosts里server的信息删掉即可。命令也给出来了:

    ssh-keygen -f "/username/username/.ssh/known_hosts" -R ***.***.***.

    (该命令会生成known_hosts.old,即原文件的备份)。

    再次连接时就会给出主机新的ECDSA key。

    感兴趣的可以看看SSH的原理

  • 相关阅读:
    Centos7搭建OpenNebula云平台
    Python中__new__和__init__的区别与联系
    16个python常用魔法函数
    微信小程序< 1 > ~ Hello 微信小程序
    扬帆起航,再踏征程(一)
    Java 社区平台
    Java 社区平台
    <Android 应用 之路> 一个类似今日头条的APP
    使用标准C读取文件遇到的结构体对齐问题及其解决办法
    编译64位cu文件的设置
  • 原文地址:https://www.cnblogs.com/vdvvdd/p/5334309.html
Copyright © 2020-2023  润新知