Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst]ssh-Befehl geht über Commandline aber nicht per Exec

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst]ssh-Befehl geht über Commandline aber nicht per Exec

    This topic has been deleted. Only users with topic management privileges can see it.
    • tugsi
      tugsi last edited by tugsi

      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?

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @tugsi last edited by

        @tugsi

        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.

        tugsi 2 Replies Last reply Reply Quote 0
        • tugsi
          tugsi @Asgothian last edited by

          @asgothian

          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.

          1 Reply Last reply Reply Quote 0
          • tugsi
            tugsi @Asgothian last edited by

            @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.

            sissiwup 1 Reply Last reply Reply Quote 0
            • sissiwup
              sissiwup @tugsi last edited by

              @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.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              805
              Online

              31.9k
              Users

              80.2k
              Topics

              1.3m
              Posts

              blockly
              3
              5
              430
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo