Wie interagieren Sie mit ssh mit subprocess-Modul

Ich versuche zu spawnen, eine ssh-Kind-Prozess mit Unterprozess.

Arbeite ich auf Python 2.7.6 auf Windows 7

hier ist mein code:

from subprocess import *
r=Popen("ssh sshserver@localhost", stdout=PIPE)
stdout, stderr=r.communicate()
print(stdout)
print(stderr)

Ausgänge:

None

stdout sollte enthalten:
sshserver@localhost ' s password:

Unter Linux zumindest (und prob windows) die stdin des tty ist nicht der gleiche wie der ssh fragt nach dem Passwort. Hold on, bekam code für diese (linux-tho).
Wenn Sie ' re gehen zu müssen, zu automatisieren ssh Sie wahrscheinlich wollen, um etwas zu untersuchen, wie pexpect oder ähnlich. Möglicherweise möchten Sie auch zu prüfen, die nur mit Schlüssel-basierte Authentifizierung, so dass Sie nicht brauchen, um muck über mit Passwörtern.
Ich arbeitete bereits auf pexpect funktioniert aber nicht einwandfrei unter windows, das ist, warum ich wollen, verwenden standard-python Module @larsks
Sie nicht verwenden können standard-Module für dieses. Windows nicht lassen Sie Sie Haken bis zu den Teilprozess ID. Ich habe gelesen, über jemanden, den das hantieren mit den win32 Bibliothek tho, dem es gelang, change-Prozess-Berechtigungen für die Haupt-Schleife, um zu befestigen, um den Teilprozess ID und Lesen Sie die Ausgabe auf stdout. Aber kurz gesagt, es ist nicht möglich. Ich habe alle deine 3 Optionen unten, das bekannt, um zu arbeiten. Die erste ist eine Linux-Lösung, so sind Sie wahrscheinlich nicht interessiert, es sei denn, Sie wollen einen halt im Leben und mit einem richtigen OS, heh 🙂
Ich hatte bereits debian installiert und arbeitete mit pexpect, aber ich möchte zu finden eine Lösung für windows 😀

InformationsquelleAutor WannaBeGenius | 2014-01-29

Schreibe einen Kommentar