博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
paramiko多线程远程执行命令
阅读量:6842 次
发布时间:2019-06-26

本文共 1364 字,大约阅读时间需要 4 分钟。

 

1 import paramiko 2 import sys 3 import getpass 4 import threading 5 import os 6  7 def rcmd(host=None, port=22, user='root', passwd=None, command=None): 8     ssh = paramiko.SSHClient() 9     ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())10     ssh.connect(hostname=host, username=user, password=passwd, port=port)11     _, stdout, stderr = ssh.exec_command(command)12     out = stdout.read()13     err = stderr.read()14     if out:15         print('[%s] OUT:\n%s' % (host, out.decode()))16     if err:17         print('[%s] ERROR:\n%s' % (host, err.decode()))18     ssh.close()19 20 if __name__ == '__main__':21     # rcmd('192.168.4.6', passwd='123456', command='id root; id wangwu')22     if len(sys.argv) != 3:23         print('Usage: %s ipfile "command"' % sys.argv[0])24         exit(1)25     if not os.path.isfile(sys.argv[1]):26         print('No such file:', sys.argv[1])27         exit(2)28         29     ipfile = sys.argv[1]30     command = sys.argv[2]31     password = getpass.getpass()32     with open(ipfile) as fobj:33         for line in fobj:34             ip = line.strip()  # 删除行尾的\n35             # rcmd(ip, passwd=password, command=command)36             t = threading.Thread(target=rcmd, args=(ip,), kwargs={
'passwd': password, 'command': command})37 t.start()

 

转载于:https://www.cnblogs.com/ray-mmss/p/10595287.html

你可能感兴趣的文章
BZOJ-1644: [Usaco2007 Oct]Obstacle Course 障碍训练课(SPFA)
查看>>
LaTeX 简介与安装
查看>>
(28)SpringBoot启动时的Banner设置【从零开始学Spring Boot】
查看>>
内核配置中 ramdisk 大小修改
查看>>
socket通信时如何判断当前连接是否断开--select函数,心跳线程,QsocketNotifier监控socket...
查看>>
Beta 冲刺(4/7)
查看>>
BeautfuiSoup4解析器
查看>>
新的开始,连菜鸟都算不上的程序媛
查看>>
使PropertyGrid控件的属性值可以显示多行的方法
查看>>
beta版本冲刺四
查看>>
Lua date format
查看>>
Struts2的简单认识
查看>>
ecshop支付方式含线下自提
查看>>
[zz] 深入java虚拟机之本地方法
查看>>
mysql-5.7 innodb 的并行任务调度详解
查看>>
js---PC端滑动进度条
查看>>
Spark 1.0 开发环境构建:maven/sbt/idea
查看>>
FreeBSD基金会添加新成员,梁莉成为第一位来自微软和中国的基金会董事
查看>>
Node.js 体验-在Windows Azure工作者角色上托管Node.js
查看>>
Windows Azure-2.5天免费深度技术训练营——面向软件工程师和架构师
查看>>