Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [gelöst] Problem mit simple-ssh zur synology

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    924

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

[gelöst] Problem mit simple-ssh zur synology

Geplant Angeheftet Gesperrt Verschoben JavaScript
16 Beiträge 2 Kommentatoren 1.2k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A alka

    leider funktioniert bei mir folgender code nicht, als Ausgabe erhalte ich nur mein log(), keinen Fehler (habe den code hier aus dem Forum, dort scheint es zu funktionieren)
    Systemstand:
    iobroker im Docker auf Synology(ssh aktiv)
    Node.js v14.19.2
    Javascript 5.2.21
    im Adapter ist simple-ssh als Zusatz und exec erlauben aktiv

    const simpleSSH = require('simple-ssh');  
    var SSH2 = require('simple-ssh'); 
    var ssh = new SSH2({
      host: '192.168.2.15',
       port:'22',
       user: 'root',
       pass: 'xxxxxx'
    
    });
    on({id: "0_userdata.0.Systeminfos.docker_restart2", change: 'ne', val: true }, function (obj) {
        log ("--> Neustart container");
        setState('0_userdata.0.Systeminfos.docker_restart', false);
        ssh.exec('/usr/syno/bin/synowebapi --exec api=SYNO.Docker.Container version=1 method=restart name=ct1', {
    
            out: function(stdout) {
                log(stdout);
            }
    
        }).start();
    
        });
    

    kann mir da jemand weiterhelfen?

    A Offline
    A Offline
    alka
    schrieb am zuletzt editiert von alka
    #5

    @alka

    stümmt ;-)

    hatte ich verrbastelt als ich viele Variationen und ein anderes script probiert hatte, funktioniert aber leider mit SSH ohne 2 auch nicht und gibt nichts aus

    u.a. so:

            ssh.exec('echo "/usr/bin/synowebapi --exec api=SYNO.Docker.Container version=1 method=restart name=ct1"',{
                err: (err) => {
                        log('SSH Error:', err);
                    },
                exit: () => {
                    //cb && cb();
                    log('SSH  exit');
                }
            }).start();
    
        } catch (e) {
            log('--- SSH Error ', e);
        } 
    });
    

    Nachtrag
    nun, da ich eine Weile das script nicht mehr gestartet hatte, die syno in Ruhe war und ich wieder von SSH2 auf SSH geändert und sicherheitshalber probiert habe, ist zumindest die syno Plattenerweiterung geweckt worden (was bedeutet dass irgendein Zugriff dort angekommen ist) - und vergessen: syno mit DSM 7.0.1

    GlasfaserG 1 Antwort Letzte Antwort
    0
    • A alka

      @alka

      stümmt ;-)

      hatte ich verrbastelt als ich viele Variationen und ein anderes script probiert hatte, funktioniert aber leider mit SSH ohne 2 auch nicht und gibt nichts aus

      u.a. so:

              ssh.exec('echo "/usr/bin/synowebapi --exec api=SYNO.Docker.Container version=1 method=restart name=ct1"',{
                  err: (err) => {
                          log('SSH Error:', err);
                      },
                  exit: () => {
                      //cb && cb();
                      log('SSH  exit');
                  }
              }).start();
      
          } catch (e) {
              log('--- SSH Error ', e);
          } 
      });
      

      Nachtrag
      nun, da ich eine Weile das script nicht mehr gestartet hatte, die syno in Ruhe war und ich wieder von SSH2 auf SSH geändert und sicherheitshalber probiert habe, ist zumindest die syno Plattenerweiterung geweckt worden (was bedeutet dass irgendein Zugriff dort angekommen ist) - und vergessen: syno mit DSM 7.0.1

      GlasfaserG Offline
      GlasfaserG Offline
      Glasfaser
      schrieb am zuletzt editiert von Glasfaser
      #6

      @alka sagte in Problem mit simple-ssh zur synology:

      und vergessen: syno mit DSM 7.0.1

      Das macht nichts ...

      Melde in der Syn an als root

      dann den kompletten Befehl absenden :

      /usr/syno/bin/synowebapi --exec api=SYNO.Docker.Container version=1 method=restart name=ct1
      

      danach kommt / sollte kommen und der Container startet neu .

      [Line 285] Exec WebAPI:  api=SYNO.Docker.Container, version=1, method=restart, param={"name":"ct1"}, runner=
      {
         "data" : {
            "cpu" : 0,
            "memory" : 28635136,
            "memoryPercent" : 0.17224828898906708,
            "name" : "ct1"
         },
         "httpd_restart" : false,
         "success" : true
      }
      
      

      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

      A 1 Antwort Letzte Antwort
      0
      • GlasfaserG Glasfaser

        @alka sagte in Problem mit simple-ssh zur synology:

        und vergessen: syno mit DSM 7.0.1

        Das macht nichts ...

        Melde in der Syn an als root

        dann den kompletten Befehl absenden :

        /usr/syno/bin/synowebapi --exec api=SYNO.Docker.Container version=1 method=restart name=ct1
        

        danach kommt / sollte kommen und der Container startet neu .

        [Line 285] Exec WebAPI:  api=SYNO.Docker.Container, version=1, method=restart, param={"name":"ct1"}, runner=
        {
           "data" : {
              "cpu" : 0,
              "memory" : 28635136,
              "memoryPercent" : 0.17224828898906708,
              "name" : "ct1"
           },
           "httpd_restart" : false,
           "success" : true
        }
        
        
        A Offline
        A Offline
        alka
        schrieb am zuletzt editiert von alka
        #7

        @glasfaser
        mit root erhalte ich keinen Zugriff, was wohl seit DSM 7.x auch so gedacht ist

        edit
        sooo - root geht nur noch per key hab ich grad gelesen

        damin-konto aber permission denied, muss mal suchen wie ich die pfad-rechte setzen muss

        GlasfaserG A 2 Antworten Letzte Antwort
        0
        • A alka

          @glasfaser
          mit root erhalte ich keinen Zugriff, was wohl seit DSM 7.x auch so gedacht ist

          edit
          sooo - root geht nur noch per key hab ich grad gelesen

          damin-konto aber permission denied, muss mal suchen wie ich die pfad-rechte setzen muss

          GlasfaserG Offline
          GlasfaserG Offline
          Glasfaser
          schrieb am zuletzt editiert von Glasfaser
          #8

          @alka sagte in Problem mit simple-ssh zur synology:

          mit root erhalte ich keinen Zugriff, was wohl seit DSM 7.x auch so gedacht ist

          Wo steht dass denn ,
          es geht nur darum das der Standart Nutzer ( mit Rechten / Administrator ) Admin heißt und den sollte man ändern/ ausschalten .

          Da wurde noch nie was ausgeschaltet :
          EDIT:

          login as: root
          root@xxxx.xxx.xxx.xx's password:
          
          Synology strongly advises you not to run commands as the root user, who has
          the highest privileges on the system. Doing so may cause major damages
          to the system. Please note that if you choose to proceed, all consequences are
          at your own risk.
          
          root@xxxx:~#
          

          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

          1 Antwort Letzte Antwort
          0
          • A alka

            @glasfaser
            mit root erhalte ich keinen Zugriff, was wohl seit DSM 7.x auch so gedacht ist

            edit
            sooo - root geht nur noch per key hab ich grad gelesen

            damin-konto aber permission denied, muss mal suchen wie ich die pfad-rechte setzen muss

            A Offline
            A Offline
            alka
            schrieb am zuletzt editiert von alka
            #9

            @alka
            hmh, dann verbocke ich hier was - Permission denied, please try again.

            habe pw nochmal neu gesetzt (denke ich mal) und neu gestartet, kein Zugriff
            ch57@Diskstation716:/$ sudo -i
            Password:
            root@Diskstation716:~# synouser -setpw root xxxx

            edit:
            egal was ich versuche, root anmelden wird verweigert
            nach admin und sudo kann ich den restart problemlos ausführen lassen

            GlasfaserG 1 Antwort Letzte Antwort
            0
            • A alka

              @alka
              hmh, dann verbocke ich hier was - Permission denied, please try again.

              habe pw nochmal neu gesetzt (denke ich mal) und neu gestartet, kein Zugriff
              ch57@Diskstation716:/$ sudo -i
              Password:
              root@Diskstation716:~# synouser -setpw root xxxx

              edit:
              egal was ich versuche, root anmelden wird verweigert
              nach admin und sudo kann ich den restart problemlos ausführen lassen

              GlasfaserG Offline
              GlasfaserG Offline
              Glasfaser
              schrieb am zuletzt editiert von
              #10

              @alka

              Ich habe gerade keine Idee .... woran es bei dir liegt .

              Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

              1 Antwort Letzte Antwort
              0
              • A Offline
                A Offline
                alka
                schrieb am zuletzt editiert von alka
                #11

                @glasfaser

                habe reichlich Versuche gefahren, ändert nichts
                lässt sich sudo in den exec-Befehl einbauen und damit die admin-anmeldung nutzen?

                oder per chmod die Datei zum Ausführen für admin-Gruppe verfügbar machen?

                GlasfaserG A 2 Antworten Letzte Antwort
                0
                • A alka

                  @glasfaser

                  habe reichlich Versuche gefahren, ändert nichts
                  lässt sich sudo in den exec-Befehl einbauen und damit die admin-anmeldung nutzen?

                  oder per chmod die Datei zum Ausführen für admin-Gruppe verfügbar machen?

                  GlasfaserG Offline
                  GlasfaserG Offline
                  Glasfaser
                  schrieb am zuletzt editiert von
                  #12

                  @alka sagte in Problem mit simple-ssh zur synology:

                  lässt sich sudo in den exec-Befehl einbauen und damit die admin-anmeldung nutzen?

                  Es wird dann aber nach dem Sudo Befehl das Passwort von root gefragt , wie man das übergibt kann ich dir nicht ( im Moment ) sagen .

                  Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                  1 Antwort Letzte Antwort
                  0
                  • A alka

                    @glasfaser

                    habe reichlich Versuche gefahren, ändert nichts
                    lässt sich sudo in den exec-Befehl einbauen und damit die admin-anmeldung nutzen?

                    oder per chmod die Datei zum Ausführen für admin-Gruppe verfügbar machen?

                    A Offline
                    A Offline
                    alka
                    schrieb am zuletzt editiert von alka
                    #13

                    @alka
                    auch wahr, hatte ich nicht bedacht

                    chmod für die Datei geht auch nicht? für admins ausführbar?

                    GlasfaserG 2 Antworten Letzte Antwort
                    0
                    • A alka

                      @alka
                      auch wahr, hatte ich nicht bedacht

                      chmod für die Datei geht auch nicht? für admins ausführbar?

                      GlasfaserG Offline
                      GlasfaserG Offline
                      Glasfaser
                      schrieb am zuletzt editiert von
                      #14

                      @alka

                      Wäre ungefähr so

                      echo -e "Password"  | sudo ...........
                      

                      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                      1 Antwort Letzte Antwort
                      0
                      • A alka

                        @alka
                        auch wahr, hatte ich nicht bedacht

                        chmod für die Datei geht auch nicht? für admins ausführbar?

                        GlasfaserG Offline
                        GlasfaserG Offline
                        Glasfaser
                        schrieb am zuletzt editiert von Glasfaser
                        #15

                        @alka

                        Hier das komplette Script , gerade mit portainer getestet :

                        //Glasfaser  17.01.2021
                        //Glasfaser  08.05.2022 echo -e Passwort hinzugefügt 
                        //https://forum.iobroker.net/topic/40916/docker-container-restart-iobroker-per-script
                        //https://forum.iobroker.net/topic/54782/problem-mit-simple-ssh-zur-synology/15
                        //Synology Docker Container von ioBroker aus neustarten 
                        //Im JS Adapter zusätzliche NPM-Module, den Eintrag: simple-ssh
                        //im SSH Befehl name=iobroker : auf dein Containernamen ändern 
                        // bei echo -e Passwort , Passwort anpassen
                         
                        
                        
                        on({id: "0_userdata.0.Test123", change: 'ne', val: true }, function (obj) {
                         
                        
                        log ("--> Neustart Docker gestartet!");
                        
                        console.log('+++ Neustart Docker +++');
                        
                          setState('0_userdata.0.Test123', false);
                        
                          
                        
                        var SSH = require('simple-ssh');
                        
                        
                        var ssh = new SSH({
                        
                           host: 'xxx.xxx.xxx.xxx',
                        
                           user: 'User',
                        
                           pass: 'Passwort'
                        
                        });
                        
                        
                        ssh.exec('echo -e Passwort  | sudo -S /usr/syno/bin/synowebapi --exec api=SYNO.Docker.Container version=1 method=restart name=portainer', {
                        
                           out: function(stdout) {
                        
                               console.log(stdout);
                        
                               
                        
                         
                        
                           }
                        
                        }).start();
                        
                         
                        
                        }
                        
                        );
                        

                        das kommt dazu , wie ich schon oben geschrieben habe :

                        echo -e Passwort  | sudo -S
                        

                        dann kommt im ioBroker Log auch :.

                        2022-05-08 19:57:38.296 - info: javascript.0 (462) script.js.Synology.Docker_Neustart: {
                        "data" : {
                        "cpu" : 0,
                        "memory" : 28975104,
                        "memoryPercent" : 0.17429329454898834,
                        "name" : "portainer"
                        },
                        "httpd_restart" : false,
                        "success" : true
                        }
                        

                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                        A 1 Antwort Letzte Antwort
                        0
                        • GlasfaserG Glasfaser

                          @alka

                          Hier das komplette Script , gerade mit portainer getestet :

                          //Glasfaser  17.01.2021
                          //Glasfaser  08.05.2022 echo -e Passwort hinzugefügt 
                          //https://forum.iobroker.net/topic/40916/docker-container-restart-iobroker-per-script
                          //https://forum.iobroker.net/topic/54782/problem-mit-simple-ssh-zur-synology/15
                          //Synology Docker Container von ioBroker aus neustarten 
                          //Im JS Adapter zusätzliche NPM-Module, den Eintrag: simple-ssh
                          //im SSH Befehl name=iobroker : auf dein Containernamen ändern 
                          // bei echo -e Passwort , Passwort anpassen
                           
                          
                          
                          on({id: "0_userdata.0.Test123", change: 'ne', val: true }, function (obj) {
                           
                          
                          log ("--> Neustart Docker gestartet!");
                          
                          console.log('+++ Neustart Docker +++');
                          
                            setState('0_userdata.0.Test123', false);
                          
                            
                          
                          var SSH = require('simple-ssh');
                          
                          
                          var ssh = new SSH({
                          
                             host: 'xxx.xxx.xxx.xxx',
                          
                             user: 'User',
                          
                             pass: 'Passwort'
                          
                          });
                          
                          
                          ssh.exec('echo -e Passwort  | sudo -S /usr/syno/bin/synowebapi --exec api=SYNO.Docker.Container version=1 method=restart name=portainer', {
                          
                             out: function(stdout) {
                          
                                 console.log(stdout);
                          
                                 
                          
                           
                          
                             }
                          
                          }).start();
                          
                           
                          
                          }
                          
                          );
                          

                          das kommt dazu , wie ich schon oben geschrieben habe :

                          echo -e Passwort  | sudo -S
                          

                          dann kommt im ioBroker Log auch :.

                          2022-05-08 19:57:38.296 - info: javascript.0 (462) script.js.Synology.Docker_Neustart: {
                          "data" : {
                          "cpu" : 0,
                          "memory" : 28975104,
                          "memoryPercent" : 0.17429329454898834,
                          "name" : "portainer"
                          },
                          "httpd_restart" : false,
                          "success" : true
                          }
                          
                          A Offline
                          A Offline
                          alka
                          schrieb am zuletzt editiert von alka
                          #16

                          @glasfaser

                          dickes dankeschön dafür, noch dazu am So!

                          habe es komplett übernommen, meine Variablen eingetragen - leider nix
                          kann aber inzwischen daran liegen, das die Firewall der syno dicht gemacht hat wegen zu vieler Zugriffe, muss mich jetzt um Familie kümmern und setz mich die nächsten Tage noch mal dran

                          Nachtrag:
                          konnte es nicht lassen da nochmal bei zu gehen - es funktioniert!:+1:
                          nochmals ein ganz liebes dankeschön dafür!

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          969

                          Online

                          32.6k

                          Benutzer

                          82.0k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe