Ich verwende Pysftp-Modul in meinem Modul, um Befehle auf dem Remote-Server mit Sudo-Privileg ohne Aufforderung das Passwort auszuführen.So führen Sie Befehle mit Sudo-Berechtigung mit Pysftp-Modul
Ich versuchte auf viele Arten, aber keinen Erfolg.
import pysftp
server = pysftp.Connection('169.254.204.32', username='test', password='root123')
str_t = server.execute('sudo -S fdisk -l')
for i in str_t:
print i
# Finally Close the Server Connection
server.close()
Früher benutzte ich paramiko Modul, da kann ich in der Lage, die Befehle mit sudo-Berechtigungen auszuführen, indem Sie send() Funktion verwenden.
Derzeit versuche ich mit dem Pysftp-Modul, aber keinen Erfolg. Könnte mir jemand dabei helfen?
Danke für Ihre Antwort. Ich habe versucht, einige Befehle server.execute ('ls -lart'), ifconfig-a. Befehle werden ausgeführt und liefern die Ausgabe. Aber einige spezielle Befehle, die "sudo previlages" erfordern, geben einen Fehler als verweigerte Berechtigung. Auch wenn ich ohne pysftp-Modul ausprobiert habe, gibt es denselben Fehler wie die verweigerte Berechtigung. Also kann ich sagen, dass wir Befehle mit pysftp.execute() ausführen können –
Ich bin sicher, dass Ihre Befehle lokal ausgeführt werden. Ähnlich dem sftp-Befehl "! Ls" Siehe Hilfe des Befehlszeilen-SFTP-Clients. sftp ist nur eine Dateiübertragung. Sie benötigen Shell-Zugriff (SSH) oder etwas wie RPC. Oder versuchen Sie zeromq [link] (http://zeromq.org/). – farax