使用 Paramiko 在主机密钥更改时自动更新 known_hosts 文件

pku*_*arn 4 python ssh key paramiko ssh-keys

目前我正在使用 Paramiko(在 Python 中)在节点上执行远程命令。有时,远程节点会更改其公钥,因此 Paramiko 会因指纹不匹配而失败。有没有办法在known_hosts更改时更新文件中的密钥?如果这是不可能的,有没有其他方法可以忽略抛出的警告?

目前我有一个 hacky 解决方案,known_hosts在拨打电话之前删除文件,这是不好的。

Mar*_*ryl 8

BadHostKeyException当主机密钥更改时抛出,因为这是连接被劫持的迹象(又名中间人攻击)。

你永远不应该盲目地忽略异常。除非可能,如果您连接到与客户端位于同一专用网络中的服务器。

在您的特定情况下,更好的策略是在服务器重新安装期间保留主机密钥。


无论如何,如果你真的不关心安全,并且愿意盲目接受任何主机密钥: