Takkun Takkun - 6 months ago 100
Python Question

How to run sudo with paramiko? (Python)

What I've tried:

  1. invoke_shell() then channel.send su then send the password resulted in not being root

  2. invoke_shell() then channel.exec_command resulted in Channel Closed error

  3. _transport.open_session() then channel.exec_command resulted in not being in root

  4. invoke_shell() then write to the stdin and flush it resulted in not being in root


check this example out:

ssh.connect('', username='jesse', 
stdin, stdout, stderr = ssh.exec_command(
    "sudo dmesg")
data = stdout.read.splitlines()
for line in data:
    if line.split(':')[0] == 'AirPort':
        print line

Example found here with more explanations: http://jessenoller.com/2009/02/05/ssh-programming-with-paramiko-completely-different/

Hope it helps!