python_paramiko_SSHException Invalid requirement, parse error at
不加sleep(0.5)会出现SSHException: Invalid requirement, parse error at " '' "问题,原因暂时未知。
结论如下
- 如果不使用多线程,则不会出现问题
- 使用多线程一定要sleep(0.2),也就是多个线程之间一定要有时间间隙
#!/usr/bin/env python
import paramiko
import threading
import sys
import time
def ssh(host, user, cmd):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
pkey_file = '/Users/admin/.ssh/id_rsa'
# key = paramiko.RSAKey.from_private_key_file( pkey_file, password='' )
key = paramiko.RSAKey.from_private_key_file( pkey_file, password='' )
try:
ssh.connect( hostname=host, username=user, pkey=key, timeout=5 )
except:
print 'connection has some problems...'
return -1
stdin, stdout, stderr = ssh.exec_command( cmd )
stdout = stdout.read()
stderr = stderr.read()
if stdout:
print '%s: %s' % (host, stdout),
ssh.close()
else:
print '%s: %s' % (host, stderr),
ssh.close()
if __name__ == '__main__':
hosts = ['192.168.31.114', '192.168.31.115', '192.168.31.116', '192.168.31.117']
try:
cmd = sys.argv[1]
except IndexError:
print '%s follow a command must be' % __file__
sys.exit(-1)
for host in hosts:
t = threading.Thread( target=ssh, args=(host, 'root', 'uptime') )
t.start()
time.sleep(0.5) #如果不加此行则会出现下面描述的异常
# ssh(host, 'root', 'uptime')
执行结果如下,有时候就没有异常,有时候就有 ,我网在也找不到合适的结论
192.168.31.116: 11:51:53 up 1:03, 1 user, load average: 0.07, 0.26, 0.18
192.168.31.114: 11:51:53 up 1:03, 1 user, load average: 0.07, 0.26, 0.18
192.168.31.115: 11:51:53 up 1:03, 1 user, load average: 0.07, 0.26, 0.18
Exception in thread Thread-3:
Traceback (most recent call last):
File "/Users/admin/.pyenv/versions/2.7.13/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/Users/admin/.pyenv/versions/2.7.13/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "parallel.py", line 12, in ssh
key = paramiko.RSAKey.from_private_key_file( pkey_file, password='' )
File "/Users/admin/.pyenv/versions/2.7.13/lib/python2.7/site-packages/paramiko/pkey.py", line 196, in from_private_key_file
key = cls(filename=filename, password=password)
File "/Users/admin/.pyenv/versions/2.7.13/lib/python2.7/site-packages/paramiko/rsakey.py", line 46, in __init__
self._from_private_key_file(filename, password)
File "/Users/admin/.pyenv/versions/2.7.13/lib/python2.7/site-packages/paramiko/rsakey.py", line 174, in _from_private_key_file
self._decode_key(data)
File "/Users/admin/.pyenv/versions/2.7.13/lib/python2.7/site-packages/paramiko/rsakey.py", line 186, in _decode_key
raise SSHException(str(e))
SSHException: Invalid requirement, parse error at "''"
192.168.31.117: 11:51:54 up 1:03, 1 user, load average: 0.07, 0.25, 0.18
192.168.31.115: 11:51:54 up 1:03, 1 user, load average: 0.07, 0.25, 0.18
192.168.31.114: 11:51:54 up 1:03, 1 user, load average: 0.07, 0.25, 0.18
192.168.31.115: 11:51:55 up 1:03, 1 user, load average: 0.07, 0.25, 0.18
192.168.31.116: 11:51:55 up 1:03, 1 user, load average: 0.07, 0.25, 0.18
192.168.31.114: 11:51:55 up 1:03, 1 user, load average: 0.07, 0.25, 0.18
192.168.31.117: 11:51:55 up 1:03, 1 user, load average: 0.07, 0.25, 0.18
python_paramiko_SSHException Invalid requirement, parse error at的更多相关文章
- 【Problems】:JSON parse error: Invalid UTF-8 start byte 0xbd;
简单记录一下 ,我本地开发环境这样写测试时没有问题, @ApiOperation(value="取消关注") @PostMapping("cancelFollow&quo ...
- Parse error: syntax error, unexpected T_PUBLIC in 问题解决
class 类中 public function _getInfo($sn){ $title = ''; $_array = explode('~', $sn); ...
- vxworks一个超级奇怪的错误(parse error before `char')
void tserver(int id) { if(debug){ useResource(,id);} char msgBuf[MAX_MSG_LEN]; if (msgQReceive(myMsg ...
- 使用Parse内付费服务出现的Error Domain=Parse Code=146 "The operation couldn’t be completed. (Parse error 146.)
因为开发一个应用有个内付费去广告功能,介于苹果官方提供的方法没用过,感觉有些复杂,于是选用了第三方组件Parse来解决这个问题,简单易操作: Parse简化苹果官方内付费问题,使用方法分厂简单只有两个 ...
- 解决:sudo: parse error in /etc/sudoers near line 24 ...报错
ubuntu系统下由于添加用户权限的时候直接用的vim对 /etc/sudoers 文件编辑,保存退出的时候,再使用sudo su 等等命令一直报错如下: sudo: parse error in / ...
- [ExtJS5学习笔记]第二十七节 CMD打包错误 Error C2009: YUI Parse Error (identifier is a reserved word => debugger;)
本文地址:http://blog.csdn.net/sushengmiyan/article/details/41242993 本文作者:sushengmiyan ------------------ ...
- 与非java语言使用RSA加解密遇到的问题:algid parse error, not a sequence
遇到的问题 在一个与Ruby语言对接的项目中,决定使用RSA算法来作为数据传输的加密与签名算法.但是,在使用Ruby生成后给我的私钥时,却发生了异常:IOException: algid parse ...
- ORA-00984: 列在此处不允许 SQL parse error location
ORA-00984: 列在此处不允许SQL parse error location Oracle 插入数据的时候一直提示列在此处不允许.网上搜索答案说是类型不匹配的多,但我的错误确是一个低级错误 ...
- 【开发遇到的问题】Spring Mvc使用Jackson进行json转对象时,遇到的字符串转日期的异常处理(JSON parse error: Can not deserialize value of type java.util.Date from String[)
1.问题排查 - 项目配置 springboot 2.1 maven配置jackson - 出现的场景: 服务端通过springmvc写了一个对外的接口,查询数据中的表,表中有一个字段属性是时间戳,返 ...
随机推荐
- Iwconfig/aircrack-ng
BT5 aircrack-ng破解无线密码(wpa/wep) - 星明月稀 - 博客频道 - CSDN.NET BT5 aircrack-ng破解无线密码(wpa/wep) - ...
- 位运算求最值 学习笔记 (待补充QAQ)
没有什么前言?直接进入正题qwq 俩俩异或 求最值: 建trie树 O(n)枚举每个数找这个数的最值,每次反走就成,还可以剪枝一波(如果在某位已经小于ans显然可以直接return? void Ins ...
- SQL实现交,并,差操作
有的数据库不支持intersect,except,所以交集,和差集使用嵌套查询来做比较靠谱. a表和b表具有完全一样的结构 mysql> desc a; +-------+----------- ...
- BUG笔记:Android原生浏览器不认负百分数margin致Foundation Orbit往右滑动动画出错
一看这标题就知道无比蛋疼了是不?至少我从来不用安卓自带的浏览器... 发现这个bug的场景:万恶的Foundation,它的滚动图片插件Orbit在安卓自带浏览器下手指从左往右滑动时动画仍旧表现为从右 ...
- (3.1)mysql基础深入——mysql二进制与源码目录结构介绍
(3.1)mysql基础深入——mysql二进制与源码目录结构介绍 关键字:二进制目录结构,源码目录结构(编译安装目录结构) 1.二进制安装程序目录结构 [1] BIN -- mysql的可执行文件( ...
- android 数据存储<一>----android短信发送器之文件的读写(手机+SD卡)
本文实践知识点有有三: 1.布局文件,android布局有相对布局.线性布局,绝对布局.表格布局.标签布局等,各个布局能够嵌套的. 本文的布局文件就是线性布局的嵌套 <LinearLayout ...
- 003-spring cloud gateway-概述、Route模型、网关初始化配置过程、基本原理
一.概述 网关服务核心是将进入的请求正确合理的路由到下层具体的服务进行业务处理,由此可见网关服务的核心就是路由信息的构建. Spring Cloud Gateway旨在提供一种简单而有效的方式来路由到 ...
- SQLCE数据工具(Flyhoward Ltd SDF Viewer)
SDF Viewer sdf数据库创建编辑查看 官方下载地址 http://www.flyhoward.com/Download_SDF_Viewer.aspx 用户名:www.cr173.com注 ...
- 十天精通CSS3(9)
Keyframes介绍 Keyframes被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以“@keyframes”开头,后面紧跟着是动画名称加上一对花括号“{…}”,括号中就是一些不同 ...
- 使用vue如何默认选中单选框
使用了vue以后,发现这真的是一个灵活高效的框架,能够轻松实现页面的实时刷新.那么,今天先聊聊单选框的使用.一般我们使用单选框,会这么写: //HTML <input type=" c ...