NEWS
[gelöst]ssh-Befehl geht über Commandline aber nicht per Exec
-
Moin,
ich habe ein Blocklyscript, welches mir bei erfasster Bewegung einen Monitor einschaltet bzw wenn x-Zeit keine Bewegung war, den wieder ausschaltet.Am Monitor hängt ein Raspberry und meine ioBroker-Installation läuft als Docker-Variante auf den Synology.
Bisher lief alles ohne Probleme, dann habe ich letztens den Docker-Container upgedatet.
Ich kann jetzt nicht mehr genau sagen, ob es seitdem oder etwas später nicht mehr klappte.
Auf jedenfall wird der EXEC-Befehl im Blockly nicht mehr richtig ausgeführt.
Zum Ausschalten sollte er folgendes senden:ssh pi@192.168.33.250 vcgencmd display_power 0
Stelle ich vom exec den Loglevel auf info, sehe ich auch, dass der Befehl abgesetzt wird, aber trotzdem bleibt der Monitor an.
Gehe ich in den Terminal vom Docker und gebe dort den Befehl ein, schaltet sich der Monitor am RPi aus.Ich habe natürlich die Zertifikate untereinander ausgetauscht, damit ich den ssh-Befehl ausführen kann, da es ja aus dem Terminal raus klappt, funktioniert dies ja schon mal.
Nur aus dem Blockly raus, klappt es nicht.
Und ja in der Javascript-Instanz habe ich den "Erlaube das Kommando "exec"" markiert.Irgendjemand eine Idee, was sich auf einmal geändert haben kann?
-
Bitte prüfen:
- als welcher User versuchst du den ssh Befehl abzusetzen ?
- als welcher User wird der Befehl vom Skript abgesetzt (ich gehe vom Benutzer iobroker) aus ?
- an welcher Stelle liegen die ausgetauschten Keys ?
A.
-
zu Deinen Fragen:
Ich denke im Punkt 1 meinst du aus dem Terminal raus: root
Beim Punkt 2 stellt sich mir die Frage, wo kann ich erkennen, welcher Benutzer den absetzt?
Die Keys liegen angehangen unter ~/.ssh/authorized_keys
Bin nach folgender Anleitung vorgegangen: https://www.simon42.com/ssh-befehle-ohne-passwort-ausfuehren/Das Ganze hat ja mal funktioniert, dann habe ich meinen Docker-Container auf die neueste Version upgedatet, dann kam noch die Admin 5er-Version, NPM auf den neuesten Stand etc.
Ich kann leider nicht sagen, ab wann es nicht mehr funktioniert hat. -
@asgothian sagte in ssh-Befehl geht über Commandline aber nicht per Exec:
als welcher User wird der Befehl vom Skript abgesetzt (ich gehe vom Benutzer iobroker) aus ?
Das war der Knackpunkt, mit dem neuen Dockercontainer gehe ich immer als root ins Terminal, der konnte dann auch den Monitor aus der Ferne schalten.
Ich musste aber den Key als User: iobroker anlegen und austauschen.Jetzt klappt´s, manchmal überfliegt man nur noch die Texte, wenn man es schon gemacht hat.
-
@tugsi sagte in [gelöst]ssh-Befehl geht über Commandline aber nicht per Exec:
@asgothian sagte in ssh-Befehl geht über Commandline aber nicht per Exec:
als welcher User wird der Befehl vom Skript abgesetzt (ich gehe vom Benutzer iobroker) aus ?
Das war der Knackpunkt, mit dem neuen Dockercontainer gehe ich immer als root ins Terminal, der konnte dann auch den Monitor aus der Ferne schalten.
Ich musste aber den Key als User: iobroker anlegen und austauschen.Jetzt klappt´s, manchmal überfliegt man nur noch die Texte, wenn man es schon gemacht hat.
Hi, hab auch grade das gleiche Problem gehabt.
Irgendwann wurde iobroker wohl auf den user iobroker umgestellt.
Habe eine uralte manuelle Installation. Wann er das "repariert" hat weiss ich allerdings nicht mehr. Auf den Rechner gibt es sowieso nur einen user, jetzt halt 2.Gilt also auch für exec auf lokal installierten iobroker. Nicht nur unter Docker.