python | 实现控制多台机器的脚本

这个控制多台机器的思路值得学习

# -*- coding: utf-8 -*-
import optparse
import pxssh

class Client:
    def __init__(self,host,password,username):
        self.host = host
        self.password = password
        self.username = username
        self.session = self.connect()

    def connect(self):
        try:
            s = pxssh.pxssh()
            s.login(self.host , self.username, self.password)
            return s
        except Exception , e:
            print e
            print ‘[-]error connecting‘

    def send_command(self, cmd):
        self.session.sendline(cmd)
        self.session.prompt()
        return self.session


def botnetCommand(command):
    for client in botNet:
        output = Client.send_command(command)
        print ‘[*] Output from‘  + Client.host
        print ‘[+]‘ + output +‘\n‘

def addClient(host,user,password):
    client = Client(host,user,password)
    botNet.append(client)

botNet = []
addClient(‘10.1.1.0‘,‘root‘,‘tooy‘)
addClient(‘10.1.1.2‘,‘root1‘,‘tooy2‘)
addClient(‘10.1.1.1‘,‘root3‘,‘tooy4‘)
botnetCommand(‘uname -v‘)
botnetCommand(‘cat /etc/issue‘)

相关推荐