Page 1 of 1

Ich habe Probleme, einen Befehl auf einem Remote -Host in Python auszuführen

Posted: 27 Mar 2025, 16:18
by Anonymous
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.