Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import paramiko
- import os
- import sys
- server_list = ['192.168.0.171', '192.168.0.171']
- commands = {}
- class Remote:
- def __init__(self, ssh_username='', ssh_password=''):
- self.ssh = paramiko.SSHClient()
- self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
- self.ssh.load_system_host_keys()
- self.username = ssh_username
- self.password = ssh_password
- def connect(self, server_list, cmd, key=False, ssh_keyfile=None):
- for server in server_list:
- if key:
- sys.stdout.write('using SSH key')
- self.ssh.connect(server, key_filename=ssh_keyfile)
- else:
- self.ssh.connect(server, username=self.username, password=self.password)
- self.commander(server, cmd)
- def commander(self, server, cmd):
- stdin, stdout, stderr = self.ssh.exec_command(cmd)
- response = stdout.read()
- sys.stdout.write("\n\t========Response from " + server + "========\n")
- sys.stdout.write("\n\t Command: " + cmd + "\n")
- sys.stdout.write(response)
- def closure(self, server):
- s = server
- sys.stdout.write('\n\t !!!!Closing the connection to: %s !!!!\n ') % s
- self.ssh.close()
- if __name__ == "__main__":
- # username and password here
- R = Remote('pi', 'password')
- # for each server in the server list | do a ls
- R.connect(server_list, "ls", key=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement