Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Blockly - per ssh an anderen Rechner und script ausführen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    340

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

[gelöst] Blockly - per ssh an anderen Rechner und script ausführen

Scheduled Pinned Locked Moved Skripten / Logik
42 Posts 14 Posters 14.1k Views 11 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    kutscher
    wrote on last edited by
    #1

    Im Terminal kann ich per ssh den anderen Raspi ausschalten oder starten.

    Ich benutze einen Public-Key, ein Passwort wird nicht abgefragt.

    z.B

    ssh raspi3 'shutdown -r 0'
    

    oder auch

    ssh raspi3 'bash -s' < datei.sh
    

    funktioniert problemlos.

    Mit Blockly klappt es irgendwie nicht.

    Ich möchte den entfernten Raspi runterfahren, 'shutdown -h 0'

    und mit 15 Sekunden Verzögerung, die per Sonoff Basic angeschlossenen 3-fach Steckdose ausschalten.

    Kann mir jemand auf die Sprünge helfen :?:

    SBorgS 1 Reply Last reply
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      wrote on last edited by
      #2

      Was hast du in blockly probiert ?

      Mi Exec Block kan man doch Kommandos/Shell scripte ausführen

      –-----------------------

      Send from mobile device

      Das schöne ios hat Auto Korrektur zum k****

      Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

      1 Reply Last reply
      0
      • K Offline
        K Offline
        kutscher
        wrote on last edited by
        #3

        Hallo Dutchman

        ~~

        Funktioniert perfekt bis auf den exec Block.

        Im Terminal funktioniert es.~~ 7243_raspi3.jpg

        1 Reply Last reply
        0
        • DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          wrote on last edited by
          #4

          @kutscher:

          Hallo Dutchman

          https://picload.org/view/doolggcr/raspi3.jpg.html

          Funktioniert perfekt bis auf den exec Block.

          Im Terminal funktioniert es. `

          Bilder bitte ins Forum uploaden anstatt externer Seite :-).

          Mach Mal den Haken an bei "mit Ergebnis" und Dan einen debug block mit der variable "result". Was kommt dan im Log ?

          –-----------------------

          Send from mobile device

          Das schöne ios hat Auto Korrektur zum k****

          Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

          1 Reply Last reply
          0
          • wendy2702W Offline
            wendy2702W Offline
            wendy2702
            wrote on last edited by
            #5

            Hilft das vielleicht weiter:

            viewtopic.php?f=8&t=12704

            Bitte keine Fragen per PN, die gehören ins Forum!

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            1 Reply Last reply
            0
            • K Offline
              K Offline
              kutscher
              wrote on last edited by
              #6

              Danke für die Tipps.

              Kann es erst heute Abend testen.

              Melde mich dann nochmal.

              LG

              1 Reply Last reply
              0
              • K Offline
                K Offline
                kutscher
                wrote on last edited by
                #7

                Habe die Lösung für mich gefunden :D

                Der funktionierende exec Befehl lautet, für einen Neustart

                su pi -c "ssh raspi3 sudo shutdown -r 0"
                

                oder zum runterfahren

                su pi -c "ssh raspi3 sudo shutdown -h 0"
                

                7243_raspi3_ok.jpg

                F 1 Reply Last reply
                0
                • B Offline
                  B Offline
                  Buhu91
                  wrote on last edited by
                  #8

                  Hey, ich wollte auch sowas per Blockly ausführen.
                  Jedoch verstehe ich nicht warum man oben z.b. für den SSH befehl nur "pi 3" eingeben kann.
                  Ich dachte dafür müsste ich die IP Adresse, und Benutzer+ PW eingeben.

                  Kann mir da einer helfen, will einen PI auf dem kein IOB läuft herunterfahren auf befehl.

                  HomeMatic, MiHome, Yeelight, Wifi light, G-Homa, Osram Smart+, Hue, Sonoff

                  1 Reply Last reply
                  0
                  • K kutscher

                    Im Terminal kann ich per ssh den anderen Raspi ausschalten oder starten.

                    Ich benutze einen Public-Key, ein Passwort wird nicht abgefragt.

                    z.B

                    ssh raspi3 'shutdown -r 0'
                    

                    oder auch

                    ssh raspi3 'bash -s' < datei.sh
                    

                    funktioniert problemlos.

                    Mit Blockly klappt es irgendwie nicht.

                    Ich möchte den entfernten Raspi runterfahren, 'shutdown -h 0'

                    und mit 15 Sekunden Verzögerung, die per Sonoff Basic angeschlossenen 3-fach Steckdose ausschalten.

                    Kann mir jemand auf die Sprünge helfen :?:

                    SBorgS Offline
                    SBorgS Offline
                    SBorg
                    Forum Testing Most Active
                    wrote on last edited by
                    #9

                    Deswegen:
                    @kutscher sagte in [gelöst] Blockly - per ssh an anderen Rechner und script ausführen:

                    Ich benutze einen Public-Key, ein Passwort wird nicht abgefragt.

                    sonst musst du eben auch ein Passwort eingeben (funktioniert aber im Blockly nicht). "raspi3" funktioniert nur bei einem korrekt eingerichtetem Netzwerk mit DNS, sonst muss man halt die IP nutzen.

                    LG SBorg ( SBorg auf GitHub)
                    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                    B 1 Reply Last reply
                    0
                    • SBorgS SBorg

                      Deswegen:
                      @kutscher sagte in [gelöst] Blockly - per ssh an anderen Rechner und script ausführen:

                      Ich benutze einen Public-Key, ein Passwort wird nicht abgefragt.

                      sonst musst du eben auch ein Passwort eingeben (funktioniert aber im Blockly nicht). "raspi3" funktioniert nur bei einem korrekt eingerichtetem Netzwerk mit DNS, sonst muss man halt die IP nutzen.

                      B Offline
                      B Offline
                      Buhu91
                      wrote on last edited by
                      #10

                      @SBorg
                      Ach verstehe, das ist eigentlich der Hostname.
                      Ich hatte versucht das mit einem Script zu machen, aber mein JS adapter installiert keine zusätzlichen NPM Module wie Simple-ssh. Brauche ich das hier in dem fall auch trotzdem oder geht das ohne?

                      HomeMatic, MiHome, Yeelight, Wifi light, G-Homa, Osram Smart+, Hue, Sonoff

                      1 Reply Last reply
                      0
                      • SBorgS Offline
                        SBorgS Offline
                        SBorg
                        Forum Testing Most Active
                        wrote on last edited by
                        #11

                        @Buhu91 sagte in [gelöst] Blockly - per ssh an anderen Rechner und script ausführen:

                        Ach verstehe, das ist eigentlich der Hostname.

                        Genau :)
                        ssh ist eigentlich bei den meisten Distris von Hause aus installiert. Wenn in der shell der Aufruf von ssh zu einer Ausgabe der Hilfe führt brauchst du sonst nix anderes mehr.

                        LG SBorg ( SBorg auf GitHub)
                        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                        1 Reply Last reply
                        0
                        • K kutscher

                          Habe die Lösung für mich gefunden :D

                          Der funktionierende exec Befehl lautet, für einen Neustart

                          su pi -c "ssh raspi3 sudo shutdown -r 0"
                          

                          oder zum runterfahren

                          su pi -c "ssh raspi3 sudo shutdown -h 0"
                          

                          7243_raspi3_ok.jpg

                          F Offline
                          F Offline
                          FrY
                          wrote on last edited by
                          #12

                          @kutscher Ich muss hier nochmal drauf zurückkommen.

                          Ich versuche 433 MHz Steckdosen zu steuern. Ausgangslage:

                          1x Raspi A mit ioBroker
                          1x Raspi B mit dem 433 MHz Adapter

                          Wenn ich aus dem Terminal den folgenden Befehl aufrufe, funktioniert es; der Raspi A verbindet sich Raspi B und führt den Befehl aus:

                          ssh pi@RaspiB '/home/pi/raspberry-remote/send 11111 1 1'
                          

                          Eine Anmeldung erhalte ich nicht, da ich mich per Zertifikat anmelde.

                          Füge ich den Block als Exec in Blockly ein, wird nichts ausgeführt:
                          38d428bd-283f-4234-bdef-72ff2678d7f6-image.png

                          Ich habe jetzt alle Varianten durch... auch mit deinem Befehl "su pi -c "befehl". Keine Chance. Tippe ich diesen Befehl übrigens im Terminal ein, erhalte ich eine Passwortabfrage. Warum eigentlich? Ist doch per Zertifikat authentifiziert.

                          Wäre um einen Tipp dankbar.

                          AlCalzoneA LukyLukeL 2 Replies Last reply
                          0
                          • F FrY

                            @kutscher Ich muss hier nochmal drauf zurückkommen.

                            Ich versuche 433 MHz Steckdosen zu steuern. Ausgangslage:

                            1x Raspi A mit ioBroker
                            1x Raspi B mit dem 433 MHz Adapter

                            Wenn ich aus dem Terminal den folgenden Befehl aufrufe, funktioniert es; der Raspi A verbindet sich Raspi B und führt den Befehl aus:

                            ssh pi@RaspiB '/home/pi/raspberry-remote/send 11111 1 1'
                            

                            Eine Anmeldung erhalte ich nicht, da ich mich per Zertifikat anmelde.

                            Füge ich den Block als Exec in Blockly ein, wird nichts ausgeführt:
                            38d428bd-283f-4234-bdef-72ff2678d7f6-image.png

                            Ich habe jetzt alle Varianten durch... auch mit deinem Befehl "su pi -c "befehl". Keine Chance. Tippe ich diesen Befehl übrigens im Terminal ein, erhalte ich eine Passwortabfrage. Warum eigentlich? Ist doch per Zertifikat authentifiziert.

                            Wäre um einen Tipp dankbar.

                            AlCalzoneA Offline
                            AlCalzoneA Offline
                            AlCalzone
                            Developer
                            wrote on last edited by AlCalzone
                            #13

                            @FrY Setz mal den Haken bei "mit Ergebnissen" und logge die Ausgabe des Befehls, die dem Callback übergeben wird.

                            Ist doch per Zertifikat authentifiziert.

                            Hast du das Zertifikat auch so abgelegt, dass es für den user iobroker (der den ssh-Befehl nämlich auf Raspi A ausführt) lesbar ist? Das Thema hatten wir vor einer Weile schon mal, da hat es nach dieser Änderung auch funktioniert:

                            https://forum.iobroker.net/topic/22841/jede-minute-ein-bild-downloaden-und-per-sftp-uploaden-mit-zeitstempel-im-namen-geht-das/11

                            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                            1 Reply Last reply
                            0
                            • AlCalzoneA Offline
                              AlCalzoneA Offline
                              AlCalzone
                              Developer
                              wrote on last edited by AlCalzone
                              #14

                              Alternativ kann man auch ohne exec SSH-Befehle absetzen:
                              https://forum.iobroker.net/topic/12470/gelöst-befehl-an-raspi/7
                              Hier müsstest du statt Passwort das Zertifikat eingeben. Ein Beispiel dafür ist hier zu finden: https://www.npmjs.com/package/ssh2#execute-uptime-on-a-server

                              // ...
                              .connect({
                                host: '192.168.100.100',
                                port: 22,
                                username: 'frylock',
                                privateKey: require('fs').readFileSync('/here/is/my/key')
                                // ^-- lädt das Zertifikat
                              });
                              

                              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                              1 Reply Last reply
                              0
                              • F FrY

                                @kutscher Ich muss hier nochmal drauf zurückkommen.

                                Ich versuche 433 MHz Steckdosen zu steuern. Ausgangslage:

                                1x Raspi A mit ioBroker
                                1x Raspi B mit dem 433 MHz Adapter

                                Wenn ich aus dem Terminal den folgenden Befehl aufrufe, funktioniert es; der Raspi A verbindet sich Raspi B und führt den Befehl aus:

                                ssh pi@RaspiB '/home/pi/raspberry-remote/send 11111 1 1'
                                

                                Eine Anmeldung erhalte ich nicht, da ich mich per Zertifikat anmelde.

                                Füge ich den Block als Exec in Blockly ein, wird nichts ausgeführt:
                                38d428bd-283f-4234-bdef-72ff2678d7f6-image.png

                                Ich habe jetzt alle Varianten durch... auch mit deinem Befehl "su pi -c "befehl". Keine Chance. Tippe ich diesen Befehl übrigens im Terminal ein, erhalte ich eine Passwortabfrage. Warum eigentlich? Ist doch per Zertifikat authentifiziert.

                                Wäre um einen Tipp dankbar.

                                LukyLukeL Offline
                                LukyLukeL Offline
                                LukyLuke
                                wrote on last edited by LukyLuke
                                #15

                                @FrY Ich habe genau das Gleiche vor wie du.
                                Pi 1 mit iobroker als Host soll sich auf Pi2 mit dem 433 MHz Adapter einloggen und ein .sh skript starten. In der shell klappt das problemlos. Mit javascript oder blockly klappts nicht .... ich raffs einfach nicht was da schief läuft.

                                Könntest du mir bitte genau erklären was ich machen muss damit das läuft?
                                Anmeldung erfolgt auch bei mir per Zertifikat.

                                AlCalzoneA 1 Reply Last reply
                                0
                                • LukyLukeL LukyLuke

                                  @FrY Ich habe genau das Gleiche vor wie du.
                                  Pi 1 mit iobroker als Host soll sich auf Pi2 mit dem 433 MHz Adapter einloggen und ein .sh skript starten. In der shell klappt das problemlos. Mit javascript oder blockly klappts nicht .... ich raffs einfach nicht was da schief läuft.

                                  Könntest du mir bitte genau erklären was ich machen muss damit das läuft?
                                  Anmeldung erfolgt auch bei mir per Zertifikat.

                                  AlCalzoneA Offline
                                  AlCalzoneA Offline
                                  AlCalzone
                                  Developer
                                  wrote on last edited by
                                  #16

                                  @LukyLuke sagte in [gelöst] Blockly - per ssh an anderen Rechner und script ausführen:

                                  In der shell klappt das problemlos.

                                  "Melde" dich mal als der User iobroker an und probiere es dann auf der Konsole:
                                  su -u iobroker -s /bin/bash

                                  Ich wette, dass der User kein Zertifikat hat, mit dem du dich auf dem zweiten Host einloggen kannst. Hinterlege eins, dann gehts auch aus ioBroker heraus.

                                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                  LukyLukeL wauzziW 2 Replies Last reply
                                  1
                                  • AlCalzoneA AlCalzone

                                    @LukyLuke sagte in [gelöst] Blockly - per ssh an anderen Rechner und script ausführen:

                                    In der shell klappt das problemlos.

                                    "Melde" dich mal als der User iobroker an und probiere es dann auf der Konsole:
                                    su -u iobroker -s /bin/bash

                                    Ich wette, dass der User kein Zertifikat hat, mit dem du dich auf dem zweiten Host einloggen kannst. Hinterlege eins, dann gehts auch aus ioBroker heraus.

                                    LukyLukeL Offline
                                    LukyLukeL Offline
                                    LukyLuke
                                    wrote on last edited by
                                    #17

                                    @AlCalzone
                                    ich danke dir!!!
                                    Habe mich heute nochmal dem Problem gewidmet. Der user "iobroker" hatte keine Rechte für ssh in der /etc/passwd. Somit konnte ich mich mittels Konsole überhaupt nicht als iobroker anmelden. Hab /sbin/nologin geändert in /bin/bash. Dann gings. Ohne deinen Tipp wäre ich da nicht so schnell drauf gekommen.

                                    Vielen Dank! :+1:

                                    AlCalzoneA 1 Reply Last reply
                                    0
                                    • LukyLukeL LukyLuke

                                      @AlCalzone
                                      ich danke dir!!!
                                      Habe mich heute nochmal dem Problem gewidmet. Der user "iobroker" hatte keine Rechte für ssh in der /etc/passwd. Somit konnte ich mich mittels Konsole überhaupt nicht als iobroker anmelden. Hab /sbin/nologin geändert in /bin/bash. Dann gings. Ohne deinen Tipp wäre ich da nicht so schnell drauf gekommen.

                                      Vielen Dank! :+1:

                                      AlCalzoneA Offline
                                      AlCalzoneA Offline
                                      AlCalzone
                                      Developer
                                      wrote on last edited by
                                      #18

                                      @LukyLuke sagte in [gelöst] Blockly - per ssh an anderen Rechner und script ausführen:

                                      Somit konnte ich mich mittels Konsole überhaupt nicht als iobroker anmelden. Hab /sbin/nologin geändert in /bin/bash.

                                      Das ist auch nicht vorgesehen, da man bis auf wenige Ausnahmen nicht als dieser User arbeiten sollte.
                                      Stattdessen sollte man sich als root oder sonstiger User anmelden und mittels (sudo) su -u iobroker -s /bin/bash zu iobroker wechseln.

                                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                      I 1 Reply Last reply
                                      0
                                      • AlCalzoneA AlCalzone

                                        @LukyLuke sagte in [gelöst] Blockly - per ssh an anderen Rechner und script ausführen:

                                        Somit konnte ich mich mittels Konsole überhaupt nicht als iobroker anmelden. Hab /sbin/nologin geändert in /bin/bash.

                                        Das ist auch nicht vorgesehen, da man bis auf wenige Ausnahmen nicht als dieser User arbeiten sollte.
                                        Stattdessen sollte man sich als root oder sonstiger User anmelden und mittels (sudo) su -u iobroker -s /bin/bash zu iobroker wechseln.

                                        I Offline
                                        I Offline
                                        ianmoone
                                        wrote on last edited by
                                        #19

                                        Hallo, ich versuche seit mehreren Tagen etwas ähnliches umzusetzen, leider ohne Erfolg.

                                        Auf einem raspberry4 läuft Iobroker 3.7.8 ich benutze einen weiteren raspberry3 mit rasbian buster um in chromium die Visualisierung anzuzeigen. Nun möchte ich den Monitor das raspberry3 nach xMinuten abschalten und über einen Bewegungsmelder wieder einschalten.
                                        Authentifizierung mittels Public-/Private-Key Verfahrens ist zwischen raspberry4 und raspberry3 eingerichtet.
                                        Wenn ich am raspberry4 mit meinem Benutzer angemeldet bin und über Terminal folgendes sende: ssh raspberry3@192.100.100.100 -t vcgencmd display_power 1
                                        Geht der Monitor aus. Soweit funktioniert es also.

                                        Wenn ich das ganze aus Iobroker (blockly) versuche, passiert nichts. Auch keine Fehlermeldung im Log.
                                        7bebe6db-1bec-4244-ab2d-ef8657553602-image.png

                                        Wenn ich mich auf dem raspberry4 mit dem Iobroker Benutzer anmelden und ssh raspberry3@192.100.100.100 -t vcgencmd display_power 1 ausführe muss ich ein Passwort eingeben. Könnte es hier eventuell auch sein das der Iobroker Benutzer nicht auf den Key zugreifen kann? Und wenn ja wie kann ich das ändern. Danke schon mal...

                                        AlCalzoneA 1 Reply Last reply
                                        0
                                        • I ianmoone

                                          Hallo, ich versuche seit mehreren Tagen etwas ähnliches umzusetzen, leider ohne Erfolg.

                                          Auf einem raspberry4 läuft Iobroker 3.7.8 ich benutze einen weiteren raspberry3 mit rasbian buster um in chromium die Visualisierung anzuzeigen. Nun möchte ich den Monitor das raspberry3 nach xMinuten abschalten und über einen Bewegungsmelder wieder einschalten.
                                          Authentifizierung mittels Public-/Private-Key Verfahrens ist zwischen raspberry4 und raspberry3 eingerichtet.
                                          Wenn ich am raspberry4 mit meinem Benutzer angemeldet bin und über Terminal folgendes sende: ssh raspberry3@192.100.100.100 -t vcgencmd display_power 1
                                          Geht der Monitor aus. Soweit funktioniert es also.

                                          Wenn ich das ganze aus Iobroker (blockly) versuche, passiert nichts. Auch keine Fehlermeldung im Log.
                                          7bebe6db-1bec-4244-ab2d-ef8657553602-image.png

                                          Wenn ich mich auf dem raspberry4 mit dem Iobroker Benutzer anmelden und ssh raspberry3@192.100.100.100 -t vcgencmd display_power 1 ausführe muss ich ein Passwort eingeben. Könnte es hier eventuell auch sein das der Iobroker Benutzer nicht auf den Key zugreifen kann? Und wenn ja wie kann ich das ändern. Danke schon mal...

                                          AlCalzoneA Offline
                                          AlCalzoneA Offline
                                          AlCalzone
                                          Developer
                                          wrote on last edited by AlCalzone
                                          #20

                                          @ianmoone sagte in [gelöst] Blockly - per ssh an anderen Rechner und script ausführen:

                                          Könnte es hier eventuell auch sein das der Iobroker Benutzer nicht auf den Key zugreifen kann?

                                          Ja, wurde doch oben schon diskutiert. Der Key muss im Kontext des Users ioBroker eingerichtet werden. Per Konsole kannst du das z.B. machen, wenn du dich als ioBroker "einloggst" (wie in meinem vorherigen Post beschrieben) und dann die Zertifikats-Geschichte einrichtest.

                                          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          628

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe