BadHostKeyException当主机密钥更改时抛出,因为这是连接被劫持的迹象(又名中间人攻击)。
你永远不应该盲目地忽略异常。除非可能,如果您连接到与客户端位于同一专用网络中的服务器。
在您的特定情况下,更好的策略是在服务器重新安装期间保留主机密钥。
无论如何,如果你真的不关心安全,并且愿意盲目接受任何主机密钥:
SSHClient.load_host_keys,这样您就可以从已知主机密钥的空白列表开始;并使用AutoAddPolicy, 自动接受新主机的主机密钥(由于上一点,所有主机都是新主机):
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
Run Code Online (Sandbox Code Playgroud)