1-多线程

```

import os

import paramkio

import threading

import getpass

import sys

def rcmd(host,user='root', passwd=None, port=22, command=None):

ssh = paramkio.SSHClient()

ssh.set_missing_host_key_policy(paramkio.AutoAddPolicy())

ssh.connect(host,username='root',password=passwd,port=port)

stdin,stdout,stderr = ssh.exec_command(command)

out = stdout.read()

err = stderr.read()

if out:

print('[\033[34;1m%s\033[0m] \033[32;1mOUT\033[0m:\n%s' % (host, out))

if err:

print('[\033[34;1m%s\033[0m] \033[31;1mERR\033[0m:\n%s' % (host, err))

if __name__ =='__main__':

if len(sys.argv) !=3:

print('Usage: %s ipfile "command"' % sys.argv[0])

exit(1)

if not os.path.isfile(sys.argv[1]):

print('no such file: %s' % sys.argv[1])

exit(2)

ipfile = sys.argv[1]

command = sys.argv[2]

passwd = getpass.getpass()

with open(ipfile)as fobj:

for ipin fobj:

ip = ip.strip()

t = threading.Thread(target=rcmd,args=(ip,),kwargs={'passwd':passwd,'command':command})

t.start()

```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容