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: 2019-09-28 21:34 von hella

Seiten-Werkzeuge

Mastodon Mastodon (old account)