Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Einen PI3 durch ioBroker herunterfahren?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Einen PI3 durch ioBroker herunterfahren?

    This topic has been deleted. Only users with topic management privileges can see it.
    • arteck
      arteck Developer Most Active @Kusi last edited by

      @Kusi hilft dir das weiter
      https://checkmk.de/lw_ssh_anmeldung_ohne_passwort.html

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Kusi last edited by

        @Kusi hast du dir mal den Adapter linux-control angesehen?

        1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @Kusi last edited by mickym

          @Kusi Es gibt duzende Anleitungen - aber ich habe es ein 2.Mal geschafft und fahre gerade einen anderen PI mit iobroker - zwar mit Node-Red runter - aber es ist egal. Das sollte dann grundsätzlich funktionieren

          Im Prinzip brauchst Du nur 2-3 Befehle und musst Dich als iobroker anmelden.

          Ich gehe mal davon aus, Du hast auf beiden Raspberries einen User PI.

          Mach mal Folgendes:

          1. Gib ein:
          sudo -su iobroker
          cd ~
          

          Dann solltest Du als Prompt das haben:

          iobroker@<deineMaschine>:~ $
          

          Wenn Du dann im iobroker HOME Verzeichnis

          ls -la .ssh 
          

          eingibst solltest Du eigentlich eine Fehlermeldung haben - da dieses Verzeichnis nicht exisistiert.

          Dann gibst ein:

          ssh-keygen -t rsa -b 4096 -C "iobroker@<DeineMaschine>"
          

          und bestätigst alles mit <Enter> ohne zusätzliches Passwort etc.

          Zum Schluß kopierst Du alles auf Deine Zielmaschine indem Du Dich mit dem pi auf Deiner Zielmaschine dann anmeldest - alles bestätigen.

          ssh-copy-id pi@<Zielmaschine>
          

          Kommandos auf zum Runterfahren ist genauso dann nur dass Du den Zielpfad noch mitgibst.

          Neustart der Zielmaschine sieht dann so aus:

          ssh pi@<Zielmaschine> sudo reboot
          

          Auf Deiner Zielmaschine hast Du dann unter dem HOME-Verzeichnis Deines pi Users auch ein Verzeichnis .ssh.

          Wenn Du reinschaust hast Du eine Datei namens authorized_keys. Da findest Du die öffentlichen Schlüssel und kannst bei Bedarf auch wieder einzelne löschen!

          K 1 Reply Last reply Reply Quote 0
          • K
            Kusi @mickym last edited by Kusi

            Vielen Dank für all eure Antworten.

            @Homoran Wo finde ich denn diesen Adapter und wofür soll dieser genau sein? Edit: Hab ihn angeschaut, sieht interessant aus... Danke für den Tipp!

            @mickym Danke für deine präzise Antwort. Ich nutze aber nicht 2 Raspberrys, sondern nur einer und ein Qnap NAS, auf welches ich einen Befehl schicken will.
            Gemäss Qnap funktioniert dort SSH nur als Administrator.

            @arteck Mit der Anleitung, welche du mir geschickt hast, kann ich wenigstens schon mal eine SSH-Verbindung ohne Passworteingabe herstellen, vielen Dank. Den SSH-Befehl senden per ioBroker geht aber leider nicht.
            Die Codezeile "Password" habe ich herausgelöscht und sieht nun wie folgt aus:

            const node_ssh = require('node-ssh').NodeSSH;
            const ssh = new node_ssh();
            ssh.connect({
              host: '192.168.1.10',
              username: 'admin'
            }).then(() => {
              ssh.execCommand("/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start");
            })
            

            Folgende Fehler bekomme ich nun:

            An error happened which is most likely from one of your scripts, but the originating script could not be detected.

            Error: All configured authentication methods failed

            Error: All configured authentication methods failed at doNextAuth (/opt/iobroker/node_modules/iobroker.javascript/node_modules/ssh2/lib/client.js:413:17) at tryNextAuth (/opt/iobroker/n

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @Kusi last edited by mickym

              @Kusi Aber das macht ja nicht groß was aus. Wenn der iobroker auf dem Raspberry läuft bleiben die Befehle ja alle gleich und nur beim Kopieren auf die Zielmaschine gibst Du halt dann den Befehl für den Administrator auf dem Qnap ein. Also den User bzw. Administrator musst Du halt kennen.

              Also:

              ssh-copy-id Administrator@<Qnap>
              

              und die Befehle lauten halt dann:

              ssh  Administrator@<Qnap>  Befehl
              
              K 1 Reply Last reply Reply Quote 0
              • K
                Kusi @mickym last edited by Kusi

                @mickym Braucht es dann also gar nicht mehr einen solch langen Code wie ich oben geschrieben habe?

                Muss es somit nur wie folgt aussehen:

                ssh admin@192.168.1.10 ssh.execCommand("/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start")
                
                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @Kusi last edited by

                  @Kusi said in Einen PI3 durch ioBroker herunterfahren?:

                  @mickym Braucht es dann also gar nicht mehr einen solch langen Code wie ich oben geschrieben habe?

                  Muss es somit nur wie folgt aussehen:

                  ssh admin@192.168.1.10 ssh.execCommand("/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start"
                  

                  Meines Erachtens müsste sogar ausreichen:

                   ssh admin@192.168.1.10 "/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start"
                  
                  K mickym 2 Replies Last reply Reply Quote 0
                  • K
                    Kusi @mickym last edited by

                    Meines Erachtens müsste sogar ausreichen:

                     ssh admin@192.168.1.10 "/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start"
                    

                    "compile failed" erscheint dann beim Speichern...

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Kusi last edited by mickym

                      @Kusi Das hat was mit Deinem Script zu tun - da muss jemand anders Dir ggf. helfen, aber Du kannst doch eine Shell aufmachen und den Befehl testen? Hast Du denn das Zertifikat für den iobroker erzeugt? Vielleicht brauchst für das Script dieses ssh.execCommand. Dann müsste es so gehen, wie Du anfangs beschrieben hast.

                      K 1 Reply Last reply Reply Quote 0
                      • K
                        Kusi @mickym last edited by

                        @mickym sagte in Einen PI3 durch ioBroker herunterfahren?:

                        @Kusi ....aber Du kannst doch eine Shell aufmachen und den Befehl testen?

                        Gebe ich den Befehl in Putty als Pi auf dem Raspberry ein, dann funktioniert der Befehl einwandfrei.

                        Mit Zertifikat meinst du den Key?
                        Wenn ja, dies habe mit anhand folgender Anleitung gemacht:
                        Link Text

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @mickym last edited by mickym

                          @mickym said in Einen PI3 durch ioBroker herunterfahren?:

                          @Kusi said in Einen PI3 durch ioBroker herunterfahren?:

                          @mickym Braucht es dann also gar nicht mehr einen solch langen Code wie ich oben geschrieben habe?

                          Muss es somit nur wie folgt aussehen:

                          ssh admin@192.168.1.10 ssh.execCommand("/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start"
                          

                          Meines Erachtens müsste sogar ausreichen:

                           ssh admin@192.168.1.10 "/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start"
                          

                          Müsste aber dann ggf. so aussehen - wie gesagt mit dem Script im iobroker bin ich nicht der Guru:

                          ssh.execCommand ("ssh admin@192.168.1.10 /share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start")
                          

                          Vielleicht braucht man aber auch das doppelt ssh nicht, dann sieht es halt so aus:

                          ssh.execCommand ("admin@192.168.1.10 /share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start")
                          

                          .,. aber dafür gibt es genügend hier an Board die gut Scripten können.

                          1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @Kusi last edited by

                            @Kusi said in Einen PI3 durch ioBroker herunterfahren?:

                            @mickym sagte in Einen PI3 durch ioBroker herunterfahren?:

                            @Kusi ....aber Du kannst doch eine Shell aufmachen und den Befehl testen?

                            Gebe ich den Befehl in Putty als Pi auf dem Raspberry ein, dann funktioniert der Befehl einwandfrei.

                            Mit Zertifikat meinst du den Key?
                            Wenn ja, dies habe mit anhand folgender Anleitung gemacht:
                            Link Text

                            OK dann funktioniert es prinzipiell - aber Du willst es ja nicht mit dem User Pi auf dem Raspberry machen, sondern als User iobroker. Deswegen habe ich Dir das ja Step für Step aufgeschrieben.

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Kusi @mickym last edited by

                              @mickym Jetzt verstehe ich was du meinst....
                              Wenn ich mich mit Putty anmelde, dann bin ich mit dem User "pi" angemeldet.
                              Wenn ich einen Befehl aus iobroker sende, dann bin ich als User "iobroker" angemeldet?

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @Kusi last edited by

                                @Kusi Richtig !!!

                                Deswegen meine Anleitung - um es als iobroker User zu machen.

                                Der ssh-copy-id Befehl muss dann lauten:

                                ssh-copy-id admin@192.168.1.10
                                
                                K 1 Reply Last reply Reply Quote 0
                                • K
                                  Kusi @mickym last edited by Kusi

                                  @mickym Wie kann ich alle ssh-keygen löschen und von vorne beginnen???

                                  Nach deiner Anleitung habe ich es nun gemacht und von Putty konnte ich wieder auf das NAS zugreifen. In ioBroker erhalte ich wieder Fehlermeldungen.

                                  Fehler "Error in callback: ReferenceError: ssh is not defined" wird angezeigt.

                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @Kusi last edited by mickym

                                    @Kusi Schau Dir mal mein letztes ssh Command an - vielleicht ist das richtig:

                                    ssh.execCommand ("admin@192.168.1.10 /share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start");
                                    

                                    Ansonsten hast Du auf der Serverseite - also Deine Zielmaschine, wenn Du Dich als admin anmeldest im Homeverzeichnis ein .ssh Verzeichnis- Dort löscht Du die Datei authorized_keys. Also als admin auf deinem qnap und dann als admin

                                    rm ~/.ssh/authorized_keys
                                    

                                    Unter den Benutzern unter den Du den keygen hast laufen lassen, löscht Du im Homeverzeichnis das ganze Verzeichnis .ssh

                                    rm -f ~/.ssh
                                    

                                    oder auch nur die Dateien id_*

                                    rm ~/.ssh/id*
                                    
                                    K 1 Reply Last reply Reply Quote 0
                                    • K
                                      Kusi @mickym last edited by

                                      @mickym Vielen Dank, habe alles gelöscht und nochmals von vorne begonnen.

                                      Der Code lautet jetzt

                                      ssh.execCommand("admin@192.168.1.10 /share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start");
                                      

                                      Es kommt unter anderem der Fehler "Error in callback: ReferenceError: ssh is not defined".

                                      mickym 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @Kusi last edited by

                                        @Kusi Wie gesagt - ich bin kein JAVA Script Mensch - aber habe das gerade mal in der iobroker Referenz nachgeschaut:

                                        Da musst Du dem Adapter erlauben, dass er exec ausführen darf.

                                        Ich weiß nur nicht ob die Callback Funktion erforderlich ist. Ansonsten wenn die nicht erforderlich ist müsste der Befehl doch nur lauten:

                                        exec ("ssh admin@192.168.1.10 /share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start");
                                        
                                        K mickym 2 Replies Last reply Reply Quote 0
                                        • K
                                          Kusi @mickym last edited by

                                          @mickym Jetzt habe ich aber eine andere Frage... Du hast gesagt, wenn ich mich mit ioBroker anmelde, dann lautet mein Anmeldename "iobroker". Wenn ich aber unter Benutzer schaue, dann steht dort "admin".
                                          Hat dies etwas damit zu tun?

                                          mickym 1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @Kusi last edited by mickym

                                            @Kusi Nein admin ist der Name unter dem Du im iobroker angemeldet bist. (das ist ein eigenes Benutzerverwaltungssystem und hat mit den Systembenutzern also LINUX nichts zu tun). Das ganze iobroker System läuft aber unter einem Linux User und der lautet iobroker. Deshalb musst Du auch das Zertifikat unter diesem User erstellen, damit der iobroker als System sein Zertifikat findet, mit dem es sich an Deimem qnas System anmeldet.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            977
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            87
                                            4819
                                            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