Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- """
- Created on Mon Dec 3 15:44:36 2018
- @author: yacine.bouslahi@gmail.com
- """
- import time
- import paramiko
- from config import om
- cmd_sudo = """sudo -s su"""
- def get_ssh_client():
- """
- creer un client SSH en mode sudo
- Exemple:
- --------
- >>> from ssh_client import get_ssh_client
- >>> ssh, chan = get_client()
- >>> chan.send('ls \n')
- >>> resp = chan.recv(9999).decode()
- >>> sftp = ssh.open_sftp()
- >>> sftp.get('file.txt', 'file.txt')
- """
- ssh = paramiko.SSHClient()
- ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
- ssh.connect(hostname='url', username='username', password='password')
- chan = ssh.invoke_shell()
- chan.send(cmd_sudo + '\n')
- time.sleep(1)
- resp = chan.recv(9999).decode()
- if resp.endswith('# '):
- # on est en Sudo / pas la peine d'envoyer le mot de passe
- pass
- else:
- # envoyer le mot de passe
- chan.send(cmd_sudo + '\n')
- time.sleep(3)
- chan.send('password' + '\n')
- resp = chan.recv(9999).decode()
- return ssh, chan
Add Comment
Please, Sign In to add comment