使用paramiko中 not found in known_hosts的错误解决
来源:互联网 发布:软件开发维护合同 编辑:程序博客网 时间:2024/04/29 08:32
执行代码如下
$ cat paramiko-demo1.py
#!/usr/bin/env python
import paramiko
hostname='192.168.4.71'
username='username'
password='password'
paramiko.util.log_to_file('syslogin.log')
ssh=paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.connect(hostname=hostname,username=username,password=password)
stdin,stdout,stderr=ssh.exec_command('free -m')
print stdout.read()
ssh.close
执行报错
$ python paramiko-demo1.py
Traceback (most recent call last):
File "paramiko-demo1.py", line 10, in <module>
ssh.connect(hostname=hostname,username=username,password=password)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 361, in connect
server_key)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 648, in missing_host_key
raise SSHException('Server %r not found in known_hosts' % hostname)
paramiko.ssh_exception.SSHException: Server '192.168.4.71' not found in known_hosts
进入python环境,调试代码如下
$ python
Python 2.7.5 (default, Aug 4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import paramiko
>>> ssh=paramiko.SSHClient()
>>> ssh.connect(hostname='192.168.4.71',username='username',password='password')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 361, in connect
server_key)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 648, in missing_host_key
raise SSHException('Server %r not found in known_hosts' % hostname)
paramiko.ssh_exception.SSHException: Server '192.168.4.71' not found in known_hosts
>>> ssh.load_system_host_keys()
>>> ssh.connect(hostname='192.168.4.71',username='clusteruser',password='clusteruser6se4')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 361, in connect
server_key)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 648, in missing_host_key
raise SSHException('Server %r not found in known_hosts' % hostname)
paramiko.ssh_exception.SSHException: Server '192.168.4.71' not found in known_hosts
>>> 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()
显然加入
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='192.168.4.71',port=22,username='username',password='password',compress=True)
这两条代码后,完成了功能。
set_missing_host_key_policy方法,是制定连接远程主机没有本地密钥或HostKeys对象是的策略,有三种策略:
1、AutoAddPolicy,自动添加主机名及主机密钥到本地HostKeys对象,并保存,不依赖load_system_host_keys()的配置,即使~/.ssh/known_hosts不存在也不产生影响。
$ cat paramiko-demo1.py
#!/usr/bin/env python
import paramiko
hostname='192.168.4.71'
username='username'
password='password'
paramiko.util.log_to_file('syslogin.log')
ssh=paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.connect(hostname=hostname,username=username,password=password)
stdin,stdout,stderr=ssh.exec_command('free -m')
print stdout.read()
ssh.close
执行报错
$ python paramiko-demo1.py
Traceback (most recent call last):
File "paramiko-demo1.py", line 10, in <module>
ssh.connect(hostname=hostname,username=username,password=password)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 361, in connect
server_key)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 648, in missing_host_key
raise SSHException('Server %r not found in known_hosts' % hostname)
paramiko.ssh_exception.SSHException: Server '192.168.4.71' not found in known_hosts
进入python环境,调试代码如下
$ python
Python 2.7.5 (default, Aug 4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import paramiko
>>> ssh=paramiko.SSHClient()
>>> ssh.connect(hostname='192.168.4.71',username='username',password='password')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 361, in connect
server_key)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 648, in missing_host_key
raise SSHException('Server %r not found in known_hosts' % hostname)
paramiko.ssh_exception.SSHException: Server '192.168.4.71' not found in known_hosts
>>> ssh.load_system_host_keys()
>>> ssh.connect(hostname='192.168.4.71',username='clusteruser',password='clusteruser6se4')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 361, in connect
server_key)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 648, in missing_host_key
raise SSHException('Server %r not found in known_hosts' % hostname)
paramiko.ssh_exception.SSHException: Server '192.168.4.71' not found in known_hosts
>>> 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()
显然加入
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='192.168.4.71',port=22,username='username',password='password',compress=True)
这两条代码后,完成了功能。
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()的配置
阅读全文
0 0
- 使用paramiko中 not found in known_hosts的错误解决
- OpenCV4Android SDK sample运行中ndk-build not found in PATH的错误解决
- 一个Provisioning not found错误的解决
- Webpack错误解决(一):ERROR in Entry module not found
- Webpack错误解决(一):ERROR in Entry module not found
- Not found in archive错误
- paramiko安装&错误解决
- 使用source命令的时候提示source: command not found错误解决
- ld: library not found for -lgcc_s.10.5错误的解决
- Spring MVC “404 Not Found”错误的解决
- 关于library not found for -lAPOpenSdk的错误解决
- 解决scp时报bash: scp: command not found的错误
- 解决Gradle DSL method not found: 'compile()'错误的方法
- 解决 Local gulp not found in
- 关于Android中sqlite3的使用与导入(解决sqlite3: not found))
- 使用Hibernate过程中出现entity class not found 问题的解决思路
- 使用Hibernate过程中出现entity class not found 问题的解决思路
- Python中paramiko模块的使用
- 前沿报告|AI系列报告之:智能计算芯片
- 百度人工智能
- 从生成对抗网络到更自动化的人工智能
- 大脑神经细胞也有老熟人
- 中国首篇Science机器人子刊!北航软体机器人实验室四年成果登上封面长篇
- 使用paramiko中 not found in known_hosts的错误解决
- DeepMind发布《星际争霸 II》深度学习环境
- 昆虫大脑帮助AI解决导航难题
- 为什么当今的企业都需要人工智能战略?
- 年度最理性 AI 分析文章:预测 AI 未来,大部分人陷入了 7 大误区
- 人类PK机器:人工神经网络和生物神经网络的比较
- 智能体到底是什么?这里有一篇详细解读
- MIT联合波士顿咨询:全球21个行业,对话3000名高管,AI如何重塑商业形态? | 雷报
- 重磅 | 周志华最新论文:首个基于决策树集成的自动编码器,表现优于DNN