User Tools

Site Tools


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 · Last modified: 2019-09-28 21:34 by hella

Page Tools

Mastodon Twitter