Guest User

Untitled

a guest
Dec 6th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Mon Dec 3 15:44:36 2018
  4.  
  5. @author: yacine.bouslahi@gmail.com
  6. """
  7. import time
  8. import paramiko
  9. from config import om
  10.  
  11. cmd_sudo = """sudo -s su"""
  12.  
  13. def get_ssh_client():
  14. """
  15. creer un client SSH en mode sudo
  16.  
  17. Exemple:
  18. --------
  19. >>> from ssh_client import get_ssh_client
  20. >>> ssh, chan = get_client()
  21. >>> chan.send('ls \n')
  22. >>> resp = chan.recv(9999).decode()
  23. >>> sftp = ssh.open_sftp()
  24. >>> sftp.get('file.txt', 'file.txt')
  25. """
  26. ssh = paramiko.SSHClient()
  27. ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
  28. ssh.connect(hostname='url', username='username', password='password')
  29.  
  30. chan = ssh.invoke_shell()
  31.  
  32. chan.send(cmd_sudo + '\n')
  33. time.sleep(1)
  34. resp = chan.recv(9999).decode()
  35.  
  36. if resp.endswith('# '):
  37. # on est en Sudo / pas la peine d'envoyer le mot de passe
  38. pass
  39. else:
  40. # envoyer le mot de passe
  41. chan.send(cmd_sudo + '\n')
  42. time.sleep(3)
  43. chan.send('password' + '\n')
  44. resp = chan.recv(9999).decode()
  45.  
  46. return ssh, chan
Add Comment
Please, Sign In to add comment