Advertisement
Guest User

Untitled

a guest
Aug 6th, 2017
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import sys, os, select, socket
  4. try:
  5. import paramiko
  6. except Exception, e:
  7. raise ImportError, "paramiko SSH library import failed !!!"
  8.  
  9. def RemoteSSHExec(machineDetails):
  10. print "hostname -- " + machineDetails['hostname']
  11. print "username -- " + machineDetails['username']
  12. print "passwd -- " + machineDetails['passwd']
  13. print "cmd -- " + machineDetails['command']
  14.  
  15. sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  16. sock.connect((machineDetails['hostname'], machineDetails['port']))
  17. ssh = paramiko.Transport(sock)
  18. ssh.start_client()
  19. if not ssh.is_active():
  20. ssh.close()
  21. print "client negotiation failed"
  22. return (False, '')
  23.  
  24. ssh.auth_password(machineDetails['username'], machineDetails['passwd'])
  25. if not ssh.is_authenticated():
  26. print 'Authentication failed'
  27. ssh.close()
  28. return (False, '')
  29.  
  30. print 'Runinng cmd:', machineDetails['command']
  31. chan = ssh.open_session()
  32. chan.setblocking(0)
  33. print "%s" % chan.exec_command(machineDetails['command'])
  34.  
  35.  
  36. if __name__ == "__main__":
  37. hostlist = sys.argv[1]
  38. for line in open(hostlist, 'r'):
  39. host, port, user, password = line.strip().split(':');
  40. port = int(port)
  41. print "[*] working on host=%s, port=%d, user=%s, pass=%s" % (host, port, user, password)
  42.  
  43. details = {
  44. 'hostname' : host,
  45. 'port' : port,
  46. 'username' : user,
  47. 'passwd' : password,
  48. 'command' : '(uname -a; sh /var/foobar/script1.sh; sh /var/foobar/script2.sh; sh /var/foobar/script3.sh); exit 0'
  49. };
  50. print "%s" % RemoteSSHExec(details)
  51. ~
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement