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
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%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%