Ich bin neu und ich konnte keine vollständige Antwort auf meine Frage finden. Also frage ich es hier. Ich benutze Python und das Pexpect-Modul, um eine Verbindung zu einem SSH-Server herzustellen und ein paar Befehle auszuführen. Einige Befehle funktionieren jedoch nicht. Ich schaute auf die Dokumentation und das sehe ich einen Befehl wie Laufen:Python-Modul pexpect - wie eine Verbindung zu SSH-Server und dann Bash-Befehle ausführen
ls -l | grep -i <Filter>
Weil ich den Laich-Befehl zu verwenden, haben die Bash-Skript mit einem
child = pexpect.spawn('/bin/bash -c "ls -l | grep LOG > logs.txt"')
jedoch laufen, Die Art, wie ich eine Verbindung zum Server herstelle, besteht darin, einen Befehl ssh mit einem Schlüssel zu senden:
p = pexpect.spawn("ssh -t -t [email protected] -i ~/.ssh/Keyfile ")
Also kann ich nicht den Spawn-Befehl mit dem Bash-Befehl innerhalb es ausführen (oder kann ich?)
Die Antwort sollte eine Passwort-Anfrage sein, weil es mich auf eine andere Maschine umleiten.
Wie verwende ich den Spawn-Befehl, damit ich mit dem Schlüssel eine Verbindung zum Server herstellen kann, geben Sie das Kennwort für den umgeleiteten Computer ein und führen Sie dann einen Bash-Befehl aus.
Hinweis: Ich versuche, den bash Teil herauszufinden. Die Verbindung zum Server und die Umleitung + Passworteinfügung funktionieren bereits für mich.
Dank, ich weiß, warum nicht zu mir kommen :) Auch hat diese offensichtliche Lösung nicht beachten Sie, dass ich auch diese auf einem Android-Gerät versucht, wo es no/bin/bash aber eher bin/sh ich musste angeben, dass bin System gefunden wurde, also wäre das Ergebnis ** ssh.sendline ('system/bin/sh -c' ls -l | grep LOG> logs.txt "'); ** wenn jemand interessiert ist – Steven