Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly - exec Befehl mit ssh

    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

    Blockly - exec Befehl mit ssh

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

      Obwohl ich nochmal die Authentifizierung gemacht habe geht es nicht. Fehlermeldung:

      script.js.UserDefined.Tests.Skript1: Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,password). 
      
      1 Reply Last reply Reply Quote 0
      • Segway
        Segway last edited by

        @Segway:

        Mhhh, User "dirk" und "root" ist definitiv eingetragen. Kann es sein dass über iobroker er mit einem anderen user kommt obwohl der Befehl ja mit dirk@ ist ??? `

        Hier bräuchte ich einmal Hilfe.

        Wenn ich per exec Befehl im Blockly den ssh Befehl absetze, komme ich dann mit den angegebenen User auch rüber auf dem entfernten Rechner, so wie ich es über die Konsole auch machen würde, oder macht der javascript-Adapter "etwas anderes daraus", sprich ich komme mit dem user iobroker rüber oder wie auch immer ?

        Per Konsole geht es per root und username einwandfrei allerdings per Blockly NICHT !

        Ja, es ist ein Rechteproblem wohl, daher die Frage wie der Befehl letztendlich abgesetzt wird ?

        1 Reply Last reply Reply Quote 0
        • S
          Smolo last edited by

          Hallo,

          hat jemand mittlerweile eine reproduzierbare Methode zum Ausführen eines Scripts aus ioBroker per ssh auf einen anderen Rechner hinbekommen? (Blocky oder JavaScript etc. ist egal wenigstens es funktioniert.

          also sowas wie

          ssh pi@x.x.x.x uptime ??

          Ich hatte jetzt schon diverse Lösungen am Start aber nach einem Neuaufbau geht wieder mal gar nichts mehr 😞

          AlCalzone 1 Reply Last reply Reply Quote 0
          • AlCalzone
            AlCalzone Developer @Smolo last edited by

            @Smolo Es gibt das Paket node-ssh. Damit kannst du aus einem Skript heraus eine Verbindung mit Passwort oder Key herstellen und mehrere Befehle ausführen, Dateien kopieren etc.

            1 Reply Last reply Reply Quote 0
            • E
              el_malto last edited by

              @Segway @Smolo warum macht ihr nicht den umgekehrten Weg und führt ein Skript auf den SSH Host aus und übergibt die Daten mit Hilfe des simple-api Adapters zu ioBroker?
              Anonsten in anlehnung an @AlCalzone Vorschlag habe ich hier mal AlCalzone Skript benutzt um eine ssh Verbindung zum iPad aufzubauen. Vielleicht hilft das ja sonst auch weiter.

              1 Reply Last reply Reply Quote 1
              • liv-in-sky
                liv-in-sky last edited by liv-in-sky

                wenn das fixer script gelaufen ist, muss man mit sudo arbeiten, damit z.b. ein exec() befehl läuft (indem ein ssh befehl ist) - damit das funktioniert muss im ordner /etc/sudoers.d ein neues file angelegt werden - name ist egal - und dies sieht dann folgendermaßen aus:

                Image 9.png

                damit lassen sich dann die befehle richtig ausführen
                will man etwas mit root direkt im exec-blockly ausführen: sudo -u root .......

                beispiel:

                Image 10.png

                hier noch ein wenig info in einem anderen thread:
                https://forum.iobroker.net/topic/9405/offen-root-rechte-für-exec/33
                https://forum.iobroker.net/post/269945

                AlCalzone 1 Reply Last reply Reply Quote 1
                • AlCalzone
                  AlCalzone Developer @liv-in-sky last edited by

                  @liv-in-sky sagte in Blockly - exec Befehl mit ssh:

                  damit z.b. ein exec() befehl läuft (indem ein ssh befehl ist)

                  Nur solche Befehle, die root-Rechte benötigen. Und dann bitte auch nur die Befehle die tatsächlich benötigt werden und nicht alles mögliche. swapfind ist für ssh z.B. nicht nötig 😉

                  Für SSH ist es tatsächlich unnötig, da man prima wie oben geschrieben auch mit verminderten Rechten SSH-Befehle absetzen kann.

                  liv-in-sky MartinK. 2 Replies Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @AlCalzone last edited by

                    @AlCalzone

                    swapfind ist ein bash datei - die alle laufenden processe als tabelle in die vis bringt - ohne root geht da garnichts

                    ssh - habe ich nicht getestet - da hast du wohl recht - um auf andere server zuzugreifen nutze ich auch bashscripts (kommt noch von früher - nutzen sshpass) - diese können tatsächlich ohne sudo oder root laufen

                    AlCalzone 1 Reply Last reply Reply Quote 0
                    • AlCalzone
                      AlCalzone Developer @liv-in-sky last edited by

                      @liv-in-sky Ich meinte das als Hinweis für alle die möglicherweise nur deine Datei abtippen.

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @AlCalzone last edited by

                        @AlCalzone
                        ok - missverstanden - sorry

                        1 Reply Last reply Reply Quote 0
                        • MartinK.
                          MartinK. @AlCalzone last edited by

                          @AlCalzone Hallo, ich habe da auch eine kurze Frage zum SSH Befehl über das Blockly -exec Modul ... Ich würde gerne meinen USB-Port vom Rasperry deaktivieren / aktivieren über folgenden SSH Befehl: sudo ./uhubctl -p 2 -a 0 -l 1-1....

                          Das klappt auch super über die SSH-Konsole , aber wie muss der korrekte Befehl im Blockly - exec Block heißen? mit dem Konsolen Befehl klappt es leider nicht 😞

                          AlCalzone 1 Reply Last reply Reply Quote 0
                          • AlCalzone
                            AlCalzone Developer @MartinK. last edited by

                            @MartinK Wie oben beschrieben, musst du diesen Befehl erst erlauben. Wie das geht, findest du im Forum zuhauf, wenn du nach sudoers suchst. Z.B. dieser Post https://forum.iobroker.net/post/356868

                            MartinK. 3 Replies Last reply Reply Quote 0
                            • MartinK.
                              MartinK. @AlCalzone last edited by

                              @AlCalzone Vielen Dank für den Tip! 👍 aber leider habe ich irgendwo immer noch einen Fehler verbaut 😞 .... Ich habe wie in der tollen Anleitung den Dateipfad - sogar die genauen Datei Variablen angegeben, (probeweise in der Original iobroker Datei)
                              Bildschirmfoto 2020-01-26 um 18.03.20.png

                              ioBroker anschließend neu gestartet 😉

                              aber leider wird der Befehl von exec in Blockly einfach nicht ausgeführt...
                              Bildschirmfoto 2020-01-26 um 17.54.27.png
                              Wenn ich den Befehl von der Konsole starte (egal in welchem Verzeichnis) klappt es 😲 ... wo liegt denn mein Fehler ??

                              AlCalzone 1 Reply Last reply Reply Quote 0
                              • AlCalzone
                                AlCalzone Developer @MartinK. last edited by AlCalzone

                                @MartinK Die Parameter würde ich in sudoers weglassen. Beim Befehl im Blockly fehlt jetzt ein sudo davor - auf der Konsole bist du ja schon root.

                                MartinK. 1 Reply Last reply Reply Quote 0
                                • MartinK.
                                  MartinK. @AlCalzone last edited by

                                  @AlCalzone Suuuper ! Vielen Dank 😀 Das war der Fehler!
                                  Ich bin da leider noch nicht so ganz fit in Sachen linux & co.... 😉
                                  aber hier im Forum wird einem meist immer irgendwie geholfen 🙂 👍

                                  1 Reply Last reply Reply Quote 0
                                  • MartinK.
                                    MartinK. @AlCalzone last edited by

                                    @AlCalzone

                                    1 Reply Last reply Reply Quote 0
                                    • MartinK.
                                      MartinK. @AlCalzone last edited by

                                      @AlCalzone sagte in Blockly - exec Befehl mit ssh:

                                      @MartinK Wie oben beschrieben, musst du diesen Befehl erst erlauben. Wie das geht, findest du im Forum zuhauf, wenn du nach sudoers suchst. Z.B. dieser Post https://forum.iobroker.net/post/356868

                                      Ich hätte da noch eine Frage zu dem Video. Im Video wird ja beschrieben, das man anstatt die ioBroker-Datei zu editieren lieber eine neue "custom" Datei anlegen sollte - weil die iobroker Datei durch die Ausführung von "fixit" wieder überschrieben wird. Woher weiß denn der ioBroker wie die neue Datei heist die ich selber erzeuge?? Ich denke der ioBroker nutzt doch nur die "iobroker" Datei mit seinen freigegebenen Pfaden? oder werden alle Dateien im sudoers.d Verzeichnis auf seine Inhalte geprüft, ob der ioBoker die nutzen kann ??? ....Sorry für die Frage - bin noch Laie 🙆‍♂️

                                      AlCalzone 1 Reply Last reply Reply Quote 0
                                      • AlCalzone
                                        AlCalzone Developer @MartinK. last edited by

                                        @MartinK sudoers ist ein Linux-Konzept. Wenn du einen Befehl per sudo ausführen willst, wird das sudoers.d-Verzeichnis durchsucht und alle Dateien geladen. Dass deine Datei im Verzeichnis liegt, reicht schon.

                                        Aber aus diesem Grund sollte auch unbedingt per visudo die Datei bearbeitet werden. Sonst können sich Fehler einschleichen, die das System korrumpieren.

                                        MartinK. 1 Reply Last reply Reply Quote 0
                                        • MartinK.
                                          MartinK. @AlCalzone last edited by MartinK.

                                          @AlCalzone ah so, und visudo ist auch ein Editor? genau so wie nano (+dateiname) nutze ich dann visudo (+dateiname) ?? zum editieren meiner custom-iobroker Datei ?? 🙂

                                          AlCalzone 1 Reply Last reply Reply Quote 0
                                          • AlCalzone
                                            AlCalzone Developer @MartinK. last edited by AlCalzone

                                            @MartinK Ja. Aber lese dir am besten vorher eine Anleitung dazu durch. Ist nicht besonders... intuitiv 😓

                                            MartinK. 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            883
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            33
                                            5455
                                            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