python 多线程 paramiko实现批量命令输入输出

 

远程批量执行命令  实现多线程执行 速度快 实现多并发登录 

#-*- coding: utf-8 -*-
#!/usr/bin/python
import paramiko
import threading
 
def ssh2(ip,username,passwd,cmd):
    try:
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(ip,22,username,passwd,timeout=5)
        for m in cmd:
            stdin, stdout, stderr = ssh.exec_command(m)
#           stdin.write("Y")   #简单交互,输入 ‘Y’
            out = stdout.readlines()
            #屏幕输出
            for o in out:
                print o,
        print '%s\tOK\n'%(ip)
        ssh.close()
    except :
        print '%s\tError\n'%(ip)
 
 
if __name__=='__main__':
    cmd = ['cal','echo hello!']#你要执行的命令列表
    username = "root"  #用户名
    passwd = "123123"    #密码
    threads = []   #多线程
    print "Begin......"
#    for i in range(1,254):
    ip = '192.168.1.19'
    a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))
    a.start()

 

 
posted @ 2016-06-02 15:10  叶小宠  阅读(4772)  评论(0编辑  收藏  举报