删除Linux known_hosts中特定IP的记录

  写的自动化测试用例在服务器上运行,第一次是ok的,但是第二次及之后就会报“REMOTE HOST IDENTIFICATION HAS CHANGED! ”的错误。

       我们可以删除~/.ssh/known_hosts 文件中对应IP的那行记录。  window中使用git-bash也会遇到同样的问题,删除C盘用户目录下的known_hosts 对应的记录即可。

 

       我是使用的python的ssh client来连接服务器执行一些指令。会在known_hosts 中生成下面的记录:

       [xxx.xxx.xxx.xxx:3123]   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

       可以使用ssh-keygen -R 192.168.1.10来删除指定的记录。需要注意切换到对应的用户。

       带端口号的要使用ssh-keygen -R  [192.168.1.10:3123]的格式来执行。

 

       ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,避免受到攻击。

posted on 2020-03-05 22:04  lnlvinso  阅读(3661)  评论(0编辑  收藏  举报