Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:sysadmin:tools:python-paramiko-ssh-and-sudo

Python Paramiko: SUDO über SSH

Meistens sind die Alternativen ja praktischer: sudo mit NOPASSWD Einträgen, ssh als root mit speziellen Freigaben im Key, Python mit Expect

Es gibt aber Fälle, da will man sudo über ssh und Passwort einfach so.

(getestet mit Python 2.7.6 und Paramiko 1.11.0)

#!/usr/bin/env python
 
import paramiko
import time
import getpass
 
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(
    paramiko.AutoAddPolicy())
 
ssh.connect('myserver', username='myuser')
 
chan = ssh.invoke_shell()
 
#print chan.chanid
#print chan.active
#print chan.getpeername()
chan.send('hostname\n')
time.sleep(0.1)
z=chan.recv(9999); print z
 
pw=getpass.getpass("Bitte sudo Passwort eingeben: ")
 
chan.send('lsof -nPi\n')
time.sleep(0.1)
z=chan.recv(9999); print z
chan.send('%s\n'%pw)
time.sleep(0.1)
z=chan.recv(9999); print z
 
chan.close()
de/sysadmin/tools/python-paramiko-ssh-and-sudo.txt · Zuletzt geändert: 2014-10-23 04:02 von hella

Seiten-Werkzeuge