Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Paramiko在主机密钥更改时自动更新已知的_主机文件_Python_Ssh_Key_Paramiko_Ssh Keys - Fatal编程技术网

Python 使用Paramiko在主机密钥更改时自动更新已知的_主机文件

Python 使用Paramiko在主机密钥更改时自动更新已知的_主机文件,python,ssh,key,paramiko,ssh-keys,Python,Ssh,Key,Paramiko,Ssh Keys,目前,我正在使用Paramiko(Python)在节点上执行远程命令。有时,远程节点会更改其公钥,因此,由于指纹不匹配,Paramiko会失败。有没有办法在已知\u主机文件中的密钥发生更改时进行更新?如果不可能,是否有其他方法可以忽略抛出的警告 目前,我有一个黑客解决方案,在进行不好的呼叫之前删除已知的\u主机文件。当主机密钥更改时抛出BadHostKeyException,因为这是连接被劫持的标志(aka) 你永远不应该盲目忽视这个例外。除非可能,如果您连接到与客户端位于同一个专用网络中的服务

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


目前,我有一个黑客解决方案,在进行不好的呼叫之前删除
已知的\u主机
文件。

当主机密钥更改时抛出BadHostKeyException
,因为这是连接被劫持的标志(aka)

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

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


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

  • 不要打电话,这样你就可以从知道主机密钥的空白列表开始
  • 并使用,自动接受新主机的主机密钥(由于上一点,所有主机都是新的):

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())