#!/usr/bin/env python
#-*- coding:utf-8 -*-

from multiprocessing import Process,Pool
import time,paramiko,sys,os
host_list = (
  ('16.74.185.167','root','123456','df -Th'),
  ('139.128.34.22','root','123456','df -Th')
)

s = paramiko.SSHClient() #绑定实例
s.load_system_host_keys() #加载本机.ssh/knows_host文件
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())

def ssh_run(host_info):
  ip,username,password,cmd = host_info
  s.connect(ip,22,username,password,timeout=5)
  stdin,stdout,stderr = s.exec_command(cmd)
  cmd_result = stdout.read(),stderr.read()
  print '\033[32;1m----------------%s------------------\033[0m' %ip
  for line in cmd_result:
    print line,

p = Pool(processes=1) #1表示单进程,根据cpu核数定,一般是几个核就写几 
result_list = []

for h in host_list:
   result_list.append(p.apply_async(ssh_run, [h,]))

for res in result_list:
  res.get()

s.close()

命令已经写死

高级版:自定义命令显示结果并手动退出

#!/usr/bin/env python
#-*- coding:utf-8 -*-

from multiprocessing import Process,Pool
import time,paramiko,sys,os
host_list = (
  ('10.174.85.167','root','123456'),
  ('139.16.139.15','root','123456'),
  ('139.24.11.58','root',666448..')
)

s = paramiko.SSHClient() #绑定实例
s.load_system_host_keys() #加载本机.ssh/knows_host文件
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())

def ssh_run(host_info,cmd):
  ip,username,password = host_info
  s.connect(ip,22,username,password,timeout=5)
  stdin,stdout,stderr = s.exec_command(cmd)
  cmd_result = stdout.read(),stderr.read()
  print '\033[32;1m----------------%s------------------\033[0m' %ip
  for line in cmd_result:
    print line,

p = Pool(processes=2)
result_list = []
q='quit'
e='exit'

#------通过输入来判断------

while True:
  input_cmd = raw_input("please input command:").strip()
  if input_cmd == q or input_cmd == e:
    break
  else:
    for h in host_list:
      result_list.append(p.apply_async(ssh_run, [h,input_cmd]))

    for res in result_list:
      res.get()
s.close()

最新文章

  1. 罗马数字转整数Leetcode13
  2. SQL中 EXCEPT、INTERSECT用法
  3. C语言函数返回数组
  4. ztree使用心得
  5. hdu1792 水题
  6. 使用jQuery播放/暂停 HTML5视频
  7. 011_hasCycle
  8. HTML5API___Web Storage
  9. 【操作系统】:Main features of the X86-64
  10. [Go语言学习]之一:搭建单元测试环境
  11. proc中tran的一般处理
  12. Zookeeper笔记1-CAP/BASE理论
  13. Python零散函数
  14. Prncnfg.vbs参数详解
  15. 连接mysql报zone时区错误
  16. Python3学习之路~8.4 利用socket实现文件传送+MD5校验
  17. [转载] Fiddler为所欲为第三篇 封包逆向必备知识[三]
  18. C# 之 索引器
  19. 11-51单片机ESP8266学习-AT指令(ESP8266作为TCP客户端,连接TCP服务器,用串口调试助手和手机TCP调试助手测试)
  20. 第一个spring boot 程序

热门文章

  1. Ubuntu13.04 安装Redmine
  2. Fixjs实践——标签、按钮控件
  3. hdu1046
  4. 百度的hao123.com篡改浏览器首页,解决办法
  5. PopupWindow 的使用
  6. 免备案速度快最新优惠码,vps评测digitalocean对比vultr和linode
  7. python3 获取阿里云ECS 实例及监控的方法
  8. Web Scraper使用
  9. CSU 1803 2016
  10. EasyUI Messager 消息框