Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import sys
- import argparse
- import paramiko
- def parse_args():
- parser = argparse.ArgumentParser(description="This script will ")
- parser.add_argument("-i", "--ip", action="store", dest="remote_ip", help="ip address of remote host", required=True)
- parser.add_argument("-u", "--username", action="store", dest="username", help="username of remote host",
- required=True)
- parser.add_argument("-p", "--password", action="store", dest="password", help="password of remote host",
- required=True)
- parser.add_argument("-c", "--command", action="store", dest="command", help="command to be executed on remote host",
- required=True)
- args = parser.parse_args()
- return args.remote_ip, args.username, args.password, args.command
- def execute_remote_command(remote_ip, username, password, cmd):
- client = paramiko.SSHClient()
- client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
- client.connect(hostname=remote_ip, username=username, password=password)
- print "Executing command: \"" + cmd + "\" on " + username + "@" + remote_ip
- try:
- stdin, stdout, stderr = client.exec_command(cmd)
- except paramiko.SSHException as err:
- print err
- return 1
- print stdout.read()
- client.close()
- def main():
- remote_ips, username, password, cmd = parse_args()
- remote_ip_list = remote_ips.split(',')
- for ip in remote_ip_list:
- execute_remote_command(ip, username, password, cmd)
- if __name__ == '__main__':
- sys.exit(main())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement