Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [gelöst] Problem mit simple-ssh zur synology

    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

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      alka @alka last edited by 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

      Glasfaser 1 Reply Last reply Reply Quote 0
      • Glasfaser
        Glasfaser @alka last edited by 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 1 Reply Last reply Reply Quote 0
        • A
          alka @Glasfaser last edited by 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

          Glasfaser A 2 Replies Last reply Reply Quote 0
          • Glasfaser
            Glasfaser @alka last edited by Glasfaser

            @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:~#
            
            1 Reply Last reply Reply Quote 0
            • A
              alka @alka last edited by 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

              Glasfaser 1 Reply Last reply Reply Quote 0
              • Glasfaser
                Glasfaser @alka last edited by

                @alka

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

                1 Reply Last reply Reply Quote 0
                • A
                  alka last edited by 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?

                  Glasfaser A 2 Replies Last reply Reply Quote 0
                  • Glasfaser
                    Glasfaser @alka last edited by

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

                    1 Reply Last reply Reply Quote 0
                    • A
                      alka @alka last edited by alka

                      @alka
                      auch wahr, hatte ich nicht bedacht

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

                      Glasfaser 2 Replies Last reply Reply Quote 0
                      • Glasfaser
                        Glasfaser @alka last edited by

                        @alka

                        Wäre ungefähr so

                        echo -e "Password"  | sudo ...........
                        
                        1 Reply Last reply Reply Quote 0
                        • Glasfaser
                          Glasfaser @alka last edited by 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 1 Reply Last reply Reply Quote 0
                          • A
                            alka @Glasfaser last edited by alka

                            @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!👍
                            nochmals ein ganz liebes dankeschön dafür!

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            419
                            Online

                            31.9k
                            Users

                            80.1k
                            Topics

                            1.3m
                            Posts

                            2
                            16
                            669
                            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