Führen Sie einen Befehl auf remote-Maschine Via telnet in einer einzigen Zeile
Ich würde gerne einen Befehl auszuführen, der auf einer remote-Maschine Via telnet,
telnet-x.x.x.x-Befehl oder ähnliches
Ich möchte das als Teil eines Skripts in Python ( Teilprozess ) und daher müssen Sie Sie in einer Zeile. Oder gibt es andere Wege, das gleiche zu tun?
Jede Hilfe ist willkommen.
Dank.
Ist das sinnvoll? Zum senden von Daten an den Prozess stdin, Sie brauchen, um das Popen-Objekt mit stdin=PIPE. docs.python.org/library/subprocess.html#popen-objects
Ja, Sie könnte verwenden beide
Ja, Sie könnte verwenden beide
stdin
und stdout
für die Kommunikation mit einem Telnet binary. Aber warum nicht einfach telnetlib
statt, wie ich vermutete?InformationsquelleAutor shruthi | 2012-04-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anstatt auf
subprocess
sind, könnten Sie versuchen Python ' s built-intelnetlib
statt.Einem vollständigen Beispiel, das ist fast genau das, was Sie wollen, ist als Beispiel in der Dokumentation: http://docs.python.org/library/telnetlib.html#telnet-example
Ich persönlich würde auch sehen, wenn SSH auf dem Zielrechner verfügbar ist system. Nicht nur werden Sie eine sichere Verbindung verwenden, aber Sie können auch SSH-keys und SSH verwenden, die eingebaute Unterstützung für die Ausführung eines einzelnen Befehls (z.B.
ssh [email protected] ls -l
).InformationsquelleAutor zigg
http://empty.sourceforge.net/
InformationsquelleAutor Gustik
Vielleicht diese Lösung nützlich sein wird, aber wie gesagt, es wird nicht funktionieren, in Fall müssen Sie die Benutzer - /Passwort-Authentifizierung.
Um zu überspringen die manuelle Benutzer - /Passwort-Authentifizierung, die Einrichtung von ssh-keys ist der Weg zu gehen. Es gibt eine kurze Erklärung dazu hier: SSH auf einem server ohne Passwort für den Admin-Leichtigkeit
InformationsquelleAutor E.Z.