What I've tried:
invoke_shell()
then channel.send
su
and then sending the password resulted in not being rootinvoke_shell()
and then channel.exec_command
resulted in a "Channel Closed" error_transport.open_session()
then channel.exec_command
resulted in not being rootinvoke_shell()
then writing to stdin and flushing it resulted in not being rootcheck this example out:
ssh.connect('127.0.0.1', username='jesse',
password='lol')
stdin, stdout, stderr = ssh.exec_command(
"sudo dmesg")
stdin.write('lol\n')
stdin.flush()
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!