删除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会发出警告,避免受到攻击。