Python实现SSH自动化中,去除known_hosts中曾经登录的信息

在本地用key登录某机器后,一般在known_hosts文件会有这台机器的ip信息,那么如果以后这个ip分配给别的机器后,你再在本地登录就会报错。

以下这段代码可以解决相关问题:

import os
import subprocess
def remove_hostkey(ip):
    subprocess.call(["ssh-keygen", "-R", ip])
if __name__ == '__main__':
    remove_hostkey(xxx.xxx.xxx.xxx)
    
    #下面这段代码是可以让你自动化是不用输yes认证
    with open(os.path.expanduser("~/.ssh/known_hosts"), 'a') as f:
        f.write("{0} {1}\n".format(floating_ip, key))

猜你喜欢

转载自yh-itcyc.iteye.com/blog/2288297