Advertisement
Guest User

Untitled

a guest
Jul 17th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. # -*- coding: UTF-8 -*-
  2. import paramiko
  3.  
  4. class SSH:
  5. def __init__(self, **kwargs):
  6. self.client = paramiko.SSHClient()
  7. self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  8. self.kwargs = kwargs
  9.  
  10. def __enter__(self):
  11. kw = self.kwargs
  12. self.client.connect(hostname=kw.get('hostname'), username=kw.get('username'),
  13. password=kw.get('password'), port=int(kw.get('port', 22)))
  14. return self
  15.  
  16. def __exit__(self, exc_type, exc_val, exc_tb):
  17. self.client.close()
  18.  
  19. def exec_cmd(self, cmd):
  20. stdin, stdout, stderr = self.client.exec_command(cmd)
  21. data = stdout.read()
  22. if stderr:
  23. raise stderr
  24. return data.decode()
  25.  
  26. if __name__ == '__main__':
  27. with SSH(hostname='vs-...', username='lo...', password='l...', port=22) as ssh: # noob@10.0.1.**
  28. out = ssh.exec_cmd('ls -l')
  29. print(out)
  30. print(out, file=open('log.log', 'a')) # и записью вывода в лог
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement