Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import sys, os, select, socket
- try:
- import paramiko
- except Exception, e:
- raise ImportError, "paramiko SSH library import failed !!!"
- def RemoteSSHExec(machineDetails):
- print "hostname -- " + machineDetails['hostname']
- print "username -- " + machineDetails['username']
- print "passwd -- " + machineDetails['passwd']
- print "cmd -- " + machineDetails['command']
- sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- sock.connect((machineDetails['hostname'], machineDetails['port']))
- ssh = paramiko.Transport(sock)
- ssh.start_client()
- if not ssh.is_active():
- ssh.close()
- print "client negotiation failed"
- return (False, '')
- ssh.auth_password(machineDetails['username'], machineDetails['passwd'])
- if not ssh.is_authenticated():
- print 'Authentication failed'
- ssh.close()
- return (False, '')
- print 'Runinng cmd:', machineDetails['command']
- chan = ssh.open_session()
- chan.setblocking(0)
- print "%s" % chan.exec_command(machineDetails['command'])
- if __name__ == "__main__":
- hostlist = sys.argv[1]
- for line in open(hostlist, 'r'):
- host, port, user, password = line.strip().split(':');
- port = int(port)
- print "[*] working on host=%s, port=%d, user=%s, pass=%s" % (host, port, user, password)
- details = {
- 'hostname' : host,
- 'port' : port,
- 'username' : user,
- 'passwd' : password,
- 'command' : '(uname -a; sh /var/foobar/script1.sh; sh /var/foobar/script2.sh; sh /var/foobar/script3.sh); exit 0'
- };
- print "%s" % RemoteSSHExec(details)
- ~
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement