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()
2014-10-23
gilt für alle Tipps, Tricks & Spickzettel:
dies sind einfache, teils banale Notizen für meinen persönlichen Gebrauch,
die hier eher zufällig auch öffentlich lesbar sind
(vielleicht hilft es ja jemandem weiter). Verwendung auf eigene Gefahr
Fehler-Hinweise, Dankesschreiben , etc. bitte an: web.21@unixwitch.de
weitere Tools / Spickzettel