by Anonymous » 27 Mar 2025, 16:18
Ich muss einen Befehl auf einem Remote -Host aus einem Python 3 -Skript ausführen. Ich habe mehrere Methoden ausprobiert, aber ich kann keinen von ihnen zum Laufen bringen. Ich habe versucht, Paramiko zu verwenden, aber PIP versagt, wenn ich versucht habe, das BCrypt -Modul aus der Kryptographie -Bibliothek zu laden. Anscheinend fehlt ein gleiches Gleichzeichen nach der Python -Ausnahme beim Ausführen von PIP3 -Installationsparamiko . Dies geschieht unabhängig davon
Code: Select all
#! /usr/bin/python3
from pexpect import pxssh
ssh = pxssh.pxssh()
if not ssh.login("192.168.1.34", "xxxxxxx", "yyyyyyyy"):
print("Failed")
< /code>
Ich habe den folgenden Code ausprobiert: < /p>
#! /usr/bin/python3
import time, subprocess, sys
IP = "192.168.1.34"
with open ("/var/run/thermostat/insideT", "r") as infile:
Temp = float(infile.read()) # Get inside temperature
if Temp > 75:
TString = IP + '"/usr/bin/gpio write 0 1"\n
subprocess.run(["ssh", TString])
< /code>
, aber ich erhalte einen Fehler von SSH, der den Hostnamen 192.168.1.34 nicht beheben kann. Ich habe verschiedene Variationen des Subprozessaufrufs ausprobiert. < /P>
ssh 192.168.1.34 "gpio write 0 1"
funktioniert einwandfrei.
Eine andere Möglichkeit, dies zu verarbeiten, besteht darin, den Wert von/var/run/thermostat/Insidet auf dem lokalen System vom Remote -System aus dem Remote -System zu lesen, wenn dies einfacher wäre. Ich kann das Skript aus beiden Systemen ausführen. Hinweis Ich habe ein passwortloses Login für SSH zwischen den Systemen aktiviert.
Ich muss einen Befehl auf einem Remote -Host aus einem Python 3 -Skript ausführen. Ich habe mehrere Methoden ausprobiert, aber ich kann keinen von ihnen zum Laufen bringen. Ich habe versucht, Paramiko zu verwenden, aber PIP versagt, wenn ich versucht habe, das BCrypt -Modul aus der Kryptographie -Bibliothek zu laden. Anscheinend fehlt ein gleiches Gleichzeichen nach der Python -Ausnahme beim Ausführen von PIP3 -Installationsparamiko . Dies geschieht unabhängig davon[code]#! /usr/bin/python3
from pexpect import pxssh
ssh = pxssh.pxssh()
if not ssh.login("192.168.1.34", "xxxxxxx", "yyyyyyyy"):
print("Failed")
< /code>
Ich habe den folgenden Code ausprobiert: < /p>
#! /usr/bin/python3
import time, subprocess, sys
IP = "192.168.1.34"
with open ("/var/run/thermostat/insideT", "r") as infile:
Temp = float(infile.read()) # Get inside temperature
if Temp > 75:
TString = IP + '"/usr/bin/gpio write 0 1"\n
subprocess.run(["ssh", TString])
< /code>
, aber ich erhalte einen Fehler von SSH, der den Hostnamen 192.168.1.34 nicht beheben kann. Ich habe verschiedene Variationen des Subprozessaufrufs ausprobiert. < /P>
ssh 192.168.1.34 "gpio write 0 1"[/code] funktioniert einwandfrei.
Eine andere Möglichkeit, dies zu verarbeiten, besteht darin, den Wert von/var/run/thermostat/Insidet auf dem lokalen System vom Remote -System aus dem Remote -System zu lesen, wenn dies einfacher wäre. Ich kann das Skript aus beiden Systemen ausführen. Hinweis Ich habe ein passwortloses Login für SSH zwischen den Systemen aktiviert.