使用paramiko中 Server not found in known_hosts的錯誤解決


報錯的格式如下:

主要是缺少set_missing_host_key_policy配置信息。

set_missing_host_key_policy方法,是制定連接遠程主機沒有本地密鑰或HostKeys對象是的策略,有三種策略:
1、AutoAddPolicy,自動添加主機名及主機密鑰到本地HostKeys對象,並保存,不依賴load_system_host_keys()的配置,即使~/.ssh/known_hosts不存在也不產生影響。

2、WarningPolicy,用於記錄一個未知的主機密鑰的python警告,並接受它,功能上與AutoAddPolicy相似,但未知主機會有告警

3、RejectPolicy,自動拒絕不知的主機名和密鑰,依賴 load_system_host_keys()的配置

>>> import paramiko
>>> ssh=paramiko.SSHClient()
>>> ssh.load_system_host_keys()
>>> ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>> ssh.connect(hostname='192.168.4.71',port=22,username='username',password='password',compress=True)
>>> stdin,stdout,stderr=ssh.exec_command('hostname;uptime')
>>> print stdout.read()
192.168.4.71
21:49:19 up 15 days, 10:27, 0 users, load average: 0.01, 0.03, 0.05
>>> ssh.close()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM