Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Blockly - per ssh an anderen Rechner und script ausführen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • AlCalzone
      AlCalzone Developer @LukyLuke last edited by

      @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 1 Reply Last reply Reply Quote 0
      • I
        ianmoone @AlCalzone last edited by

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

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

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

          1 Reply Last reply Reply Quote 0
          • I
            ianmoone last edited by

            Ok. Danke.
            Aktuell scheitere ich damit den erstellen Key auf den anderen raspberry zu übertragen.
            Wenn dies versuche: copy-id -i .ssh/id_rsa.pub username@ipadresse
            Soll ich das Passwort für den unser Iobroker eingeben. Habe ich aber nicht....

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

              @ianmoone Mir fehlen leider ein paar Informationen, um dir zu helfen.
              Führst du den Befehl als root oder iobroker aus?
              Ist username gleich "raspberry3", wie im obigen Screenshot?
              Hast du mal versucht, den Kopiervorgang als root auszuführen, aber dann als Pfad /home/iobroker/.ssh/id_rsa.pub zu nehmen?

              1 Reply Last reply Reply Quote 0
              • I
                ianmoone last edited by

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

                Hast du mal versucht, den Kopiervorgang als root auszuführen, aber dann als Pfad /home/iobroker/.ssh/id_rsa.pub zu nehmen?

                Danke. Das hat funktioniert!

                1 Reply Last reply Reply Quote 0
                • J
                  Joshude last edited by

                  Moin! Ich würde da gern noch mal anknüpfen, da es genau mein aktuelles Problem beschreibt, aber ich nicht so richtig schlau werde welchen Schritt ich jetzt gehen soll.

                  Ich hab soweit eingerichtet, dass der user Pi auf einen Linux-Rechner SSH'en darf, der ebenfalls (der Einfachheit halber) einen User pi eingerichtet bekommen hat.
                  Jetzt würde ich per exec gerne

                  su pi -c "ssh pi@192.168.200.27 ffmpeg -y -rtsp_transport tcp -i rtsp://admin:***@192.168.200.22:554/11 -vframes 1 /home/glsjbrg/images/do.jpg"
                  

                  ausführen. .27 ist der besagte andere Linux-Rechner. Wenn ich das per Konsole, als pi angemeldet, von meinem iobroker aus mache gehts wunderbar, nur per exec nicht. Was ich verstanden habe ist, dass die JS-exec Sachen jetzt im Prinzip vom User "iobroker" aus gemacht werden und der vermutlich die Befehle jetzt auf dem Linux-Rechner (der .27) nicht ausführen darf.

                  Was muss ich denn jetzt machen, um das hinzubekommen? Wie gesagt, per Konsole und den Usern "pi" gehts, nur eben per iobroker exec-Befehl nicht, was ich allerdings brauche, wie es scheint.

                  Danke 🙂

                  Meister Mopper 1 Reply Last reply Reply Quote 0
                  • W
                    waterchill last edited by waterchill

                    Moin,

                    habe ähnliches Problem. Habe einen rpi4 mit laufender Homebridge und habe iobroker einfach mit dem Befehl dazu installiert als user "pi"

                    curl -sL https://iobroker.net/install.sh | bash -

                    Hat ja auch funktioniert und das ganze läuft. Nun möchte ich meinen Mac per ssh ausschalten. Das funktioniert in der Homebridge wunderbar, man musste nur das Zertifikat des users homebridge übertragen. Der Ausschaltbefehl lautet:

                    ssh user@192.168.1.50 pmset sleepnow

                    Natürlich funktioniert es so nicht, da das Zertifikat fehlt. In die Konsole gebe ich folgendes ein:

                    ssh-keygen

                    dann läuft das ganze durch. Den Kopiervorgang starte ich mit

                    ssh-copy-id user@192.168.1.50

                    und hier kommt eine Fehlermeldung: /usr/bin/ssh-copy-id: ERROR: No identities found

                    Da komme ich nicht weiter. Logischerweise beim ausführen des Ausschaltbefehls in der Konsole kommt "Host key verification failed."

                    Jemand eine Lösung?

                    1 Reply Last reply Reply Quote 0
                    • Meister Mopper
                      Meister Mopper @Joshude last edited by

                      @Joshude versuch es mal so:

                      #ssh Schlüssel verteilen:
                      #1. auf dem ioBrokersystem:
                      sudo su - iobroker -s /bin/bash
                      cd ~/.ssh
                      ssh-keygen -t rsa
                      
                      #3 x Enter
                         
                      #2. auf dem Zielsystem:
                      pi@192.168.xxx.xxx> mkdir -p ~/.ssh
                      
                      #3. auf dem ioBrokersystem:
                      iobroker@iobroker> cat ~/.ssh/id_rsa.pub | ssh pi@192.168.xxx.xxx 'cat >> .ssh/authorized_keys'
                      
                      #noch einmalig das Passwort eingeben, danach ist es nicht mehr nötig
                      
                      

                      W 1 Reply Last reply Reply Quote 1
                      • W
                        waterchill @Meister Mopper last edited by

                        @Meister-Mopper

                        das scheitert schon daran dass ich keine Tilde machen kann. Normal ist ja beim mac alt+N ~ aber in dem Fenster geht das nicht. Auch copy und paste ist nicht möglich. Habe 3 browser probiert, geht bei keinem. Dieses Terminal ist wirklich sehr seltsam. Im Homebridge Terminal ist das alles problemlos möglich.

                        Meister Mopper 1 Reply Last reply Reply Quote 0
                        • Meister Mopper
                          Meister Mopper @waterchill last edited by

                          @waterchill wieso kopierst Du nicht einfach den tag-code und fügst es in der Konsole ein?

                          W 1 Reply Last reply Reply Quote 0
                          • W
                            waterchill @Meister Mopper last edited by waterchill

                            @Meister-Mopper

                            das würd ich ja gern machen aber das geht ja nicht. Sobald ich paste mache kommt nur "v" wie gesagt copy und paste geht in dem Fenster nicht. Das ist seltsamste Terminal was ich je gesehen habe. Es ist zb auch so dass bei ssh-keygen 3mal enter auch nicht geht wenn man nichts einträgt. Nach dem ersten Enter geht er einfach in den bash zurück. Wenn man das nochmal eingibt gehts dann im zweiten Schritt weiter usw..

                            Meister Mopper 1 Reply Last reply Reply Quote 0
                            • Meister Mopper
                              Meister Mopper @waterchill last edited by

                              @waterchill was bewirkt ein Rechtsklick hinter dem prompt der Konsole?

                              W 1 Reply Last reply Reply Quote 0
                              • W
                                waterchill @Meister Mopper last edited by

                                @Meister-Mopper

                                folgende optionen gibt es:

                                zurück
                                seite neu laden
                                frame im neuen tab öffnen
                                frame im neuen fenster öffnen
                                frame quelltext einblenden
                                frame sichern unter
                                frame drucken
                                fenster drucken
                                element informationen

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

                                  @waterchill Hast du mal eine richtige Shell per putty probiert? Du scheinst über eine Web-Oberfläche zuzugreifen.

                                  W 1 Reply Last reply Reply Quote 0
                                  • W
                                    waterchill @AlCalzone last edited by

                                    @AlCalzone

                                    ich habe einfach das plugin terminal für iobroker geladen und da bin ich jetzt. Zugriff über ssh vom mac aus (Terminal) auf iobroker nicht möglich da kommt dann:

                                    This account is currently not available.
                                    Connection to 192.168.171.4 closed.

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

                                      @waterchill Der User "iobroker" hat kein Passwort zu einloggen. Du musst dich mit einem anderen, existierenden, User einloggen. Z.b. root oder pi, je nachdem wo ioBroker läuft.

                                      W 1 Reply Last reply Reply Quote 0
                                      • W
                                        waterchill @AlCalzone last edited by waterchill

                                        @AlCalzone

                                        Das wäre ja dann der User "pi". Ich habe sowohl für user pi als auch homebridge ein zertifikat angelegt. Von beiden usern funktioniert es ja auch. Der Befehl zum schlafen gehen wird aber vom user "iobroker" gesendet und dementsprechend fehlt da das Zertifikat. Wie mache ich das wenn es den user scheinbar nicht gibt.

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

                                          @waterchill sobald du als pi eingeloggt bist, kannst du eine shell für iobroker öffnen:

                                          sudo -u iobroker -s /bin/bash
                                          

                                          Darin dann die Zertifikate anlegen.

                                          W 1 Reply Last reply Reply Quote 1
                                          • W
                                            waterchill @AlCalzone last edited by

                                            @AlCalzone

                                            jup das war des Rätsels Lösung! Danke Dir!!! 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            754
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            14
                                            42
                                            11741
                                            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