删除Linux know_hosts中特定IP的记录

Posted lnlvinso

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除Linux know_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会发出警告,避免受到攻击。

以上是关于删除Linux know_hosts中特定IP的记录的主要内容,如果未能解决你的问题,请参考以下文章

如何配置 Cups Linux 服务器以仅允许从特定 IP 打印?

如何在linux中删除特定的“] [”

有趣的 Linux 命令(一)—— cut 命令

如何从linux中的多个文件中删除特定行?

SQL如何查找和删除MYSQL数据库中包含特定字符串的记录

如何在 Linux 中删除在特定端口上运行的进程