Advertisement
Guest User

Untitled

a guest
Nov 24th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 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. '''Как написать код для подключения к удаленному хосту с импрортируемым модулем paramiko'''
  12. kw = self.kwargs
  13. self.client.connect(hostname=kw.get('hostname'), username=kw.get('username'),
  14. password=kw.get('password'), port=int(kw.get('port', 22)))
  15. return self
  16.  
  17. def __exit__(self, exc_type, exc_val, exc_tb):
  18. self.client.close()
  19.  
  20. def exec_cmd(self, cmd):
  21. ''' Необходимо выполнить команду с помощью скрипта (к прим. ls -al)'''
  22. stdin, stdout, stderr = self.client.exec_command(cmd)
  23. data = stdout.read()
  24. self.client.close()
  25. if stderr:
  26. raise stderr
  27. return data.decode()
  28.  
  29. if __name__ == '__main__':
  30. with SSH(hostname='vs-...', username='lo...', password='l...', port=22) as ssh: # noob@10.0.1.**
  31. out = ssh.exec_cmd('ls -l')
  32. print(out)
  33. print(out, file=open('log.log', 'a')) # и записью вывода в лог
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement