window 下使用python paramiko ssh执行scp 提示Host key verification failed
时间: 2023-06-17 20:08:13 浏览: 200
jenkins发版报错Host key verification failed
5星 · 资源好评率100%
这个错误是由于您的本地计算机第一次连接到目标服务器时,SSH会将目标服务器的公钥保存到本地计算机的known_hosts文件中。当下次连接到相同的服务器时,SSH会比对本地计算机的known_hosts文件中的公钥和目标服务器的公钥,如果不一致就会提示Host key verification failed错误。
解决方法:
1. 手动删除本地计算机的known_hosts文件中与目标服务器相关的公钥,然后重新连接。在Windows上,known_hosts文件位于C:\Users\<username>\.ssh\known_hosts。
2. 如果您确定目标服务器的公钥没有被篡改,可以通过将ssh连接的参数设置为自动添加目标服务器的公钥来跳过此错误。在paramiko中,可以通过设置missing_host_key_policy参数来实现。示例代码如下:
```python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('example.com', username='user', password='password')
```
这样,当您第一次连接到目标服务器时,paramiko会自动将目标服务器的公钥添加到本地计算机的known_hosts文件中,下次连接时就不会再出现Host key verification failed错误了。
阅读全文