Ausführen von Sudo Command mit paramiko

8

Ich versuche, einen Sudo-Befehl auf einem Remote-Rechner mit Python-Paramiko auszuführen, wenn ich den Befehl ausführe, binde ich ihn mit 3 Streams und benutze den Input-Stream, um das Passwort zu übergeben, aber es funktioniert nicht , das ist das Traceback-Ergebnis:

%Vor%

und das ist mein Python-Code:

%Vor%

Irgendwelche Hilfe? Vielen Dank im Voraus

    
user3176971 23.03.2014, 06:40
quelle

3 Antworten

13

Zuerst haben Sie in der Konsole mit ssh [email protected] "sudo -S -p '' dmesg" versucht. Wenn dies ebenfalls fehlschlägt, können Sie die Einstellungen sshd und sudoer überprüfen.

Wenn es gut funktioniert, fügen Sie bitte ein Echo zwischen den Zeilen hinzu, damit wir genau wissen können, wann die Ausnahme ausgelöst wurde. Ich bezweifle stark, dass Sie sudo dmesg zu sudo -S -p '' dmesg ändern sollten.

Sie könnten auch meinen Wrapper von Paramiko versuchen. Ich kann es problemlos verwenden, um auf einen beliebigen CentOS / SuSE-Knoten zuzugreifen und beliebige Befehle auszuführen (w / wo Sudo-Berechtigung):

%Vor%     
stanleyxu2005 23.03.2014 15:24
quelle
5

Es tut mir leid, dass ich keine Zeit für Details habe, aber ich konnte sudo-Befehle auf paramiko implementieren, indem ich dies berate

%Vor%     
AlexS 18.01.2015 16:17
quelle
4

Ich weiß, dass diese Frage etwas alt ist, aber ich wollte auch Sudo und Paramiko benutzen. Ich brauchte eine Weile, um diese Lösung zu finden. Es funktioniert vielleicht nicht für alle, aber ich dachte, es wäre es wert, hinzugefügt zu werden.

%Vor%     
gloomy.penguin 19.10.2014 01:03
quelle

Tags und Links