Ankündigung

Einklappen
Keine Ankündigung bisher.

Per LBS Skript auf einem anderen Linux Rechner starten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Per LBS Skript auf einem anderen Linux Rechner starten

    Hallo Profis,

    vielleicht könnt ihr mir helfen.. ich würde gern per LBS bzw. per Trigger von Edomi aus, ein
    Skript auf einem anderen Linux Rechner anstarten. Das ist eigentlich nur eine Befehlszeile
    die dort gestartet werden soll.

    Hintergrund:
    Ich hab den AnwesenheitsLBS über die Fritzbox bei mir installiert. Jetzt soll, immer wenn keiner
    von uns im Haus ist auf dem Synology NAS ein Befehl ausgeführt werden, der mir die Videos
    die die Surrveillancestation aufgenommen hat in die Dropbox legt. (Securityfeature.. den was bringen
    mir die Videos daheim auf Platte, wenn der Dieb die Platte mitnimmt) Hierzu hab ich schon eine kleine
    Befehlszeile die genau das macht.
    Klar.. der einfache Weg wäre jetzt per Cronjob das Skript immer ausführen zu lassen.. aber das ist
    mir zu "nervig" da ich dann alle Nase lang eine Benachrichtigung bekommen, das wieder xy-Files
    in die Dropbox geladen wurden... schön wäre es wirklich nur, wenn wir nicht zu Hause sind den Upload
    zu triggern.

    Ist sowas machbar ? ich denke ja... leider hab ich hierzu gar keinen Ansatz.. wenn mir einer von den
    Profis hier vielleicht einen Tipp bzw. ein How2 an die Hand geben könnte... wäre Nett.

    Gruß Martin
    Zuletzt geändert von Brick; 17.02.2017, 14:33.
    Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

    #2
    Schau Dir den LandisGyr-Hauszähler LBS von mir an, der macht sowas intern. Habe grad die Nummer nicht zur Hand...
    Kind regards,
    Yves

    Kommentar


      #3
      Hallo Brick,

      du kannst doch einen SHELL Befehl anlegen und dein Script per SSH auf dem anderen Linux Rechner ausführen.
      Ich lasse so an einem Pi in meinem Zäherschrank, ein Relais anziehen. (hab kein KNX)

      ssh <Benutzer>@<IP Adresse> <Befehl> Also z.B.: ssh pi@XXX.XXX.XXX.XXX gpio write 21 1

      Es sollte nur ein passwortloser Zugriff eingerichtet sein. Dafür müssen Die Schlüsselpaare zwischen den Rechnern getauscht werden.

      Und dann per Ausgangsbox den SHELL Befehl ausführen.

      Kommentar


        #4
        Hi Martin,

        genaus so wie glockain schreibt.

        Hab gerade meine Anleitung zur Hand. Damit sparst Du Dir das suchen. Passwort kann bleiben. Du musst nur die Schlüsselpaare austauschen.

        Auf dem Edomi Server - als root:

        ssh-keygen -t rsa -b 2048
        Enter,Enter,Enter,....

        ssh-copy-id username@IP (z.B. ssh-copy-id pi@192.168.0.5)
        Passwort vom zu steuernden Rechner eingeben (z.B. raspberry ;-) )

        Test:
        ssh 'pi@192.168.0.5‘ 'ls -l'

        Skript als sudo:
        ssh 'pi@192.168.0.5' 'sudo /home/pi/skript.sh'

        Da Edomi LBS vermutlich per root ausgeführt werden funktioniert der Aufruf problemlos aus einem LBS.

        Im Edomi LBS per php - Beispiel aus meinem aktuellen BLE Testprojekt:
        (der Befehl könnte Dir gefallen - ist aber als dokumentierter LBS mit Anleitung noch nicht verfügbar - Erweitert die TR64 um Bluetooth Scanning des Telefons und den Scan eines BLE Tags im Geldbeutel oder am Schlüsselbund):
        $variable = shell_exec("ssh 'pi@192.168.0.5' 'sudo hcitool name " . $device[$i] . "'");


        Alles was Dein Skript per echo ausgibt landet in der Variablen.
        Geht auch mit einem Perlskript auf der anderen Seite.



        VG

        Marc
        Zuletzt geändert von MSW; 16.02.2017, 19:49.

        Kommentar


          #5
          es gibt einen ssh2-exec LBS inkl. public-key Authentisierung. Damit sollte das funktionieren.

          LBS19000306
          Zuletzt geändert von jonofe; 16.02.2017, 21:55.

          Kommentar


            #6
            Danke Jungs für die Infos.. versteh aktuell nur knapp mehr wie die Hälfte.. werd mich morgen aber einlesen

            Gruß Martin
            Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

            Kommentar


              #7
              Hi André,

              ich hab mir den LBS mal angeschaut... bin jetzt soweit das ich ssh-keygen -t rsa -b 4096 ausgeführt hab.. das ganze 3 mal mit Enter bestätigt..
              jetzt hab ich zwie Files.. id_rsa und id_rsa.pub... Den Inhalt des Pub Files hab ich jetzt auf der Synology eingetragen.. hierzu musste noch
              was angelegt werden, da das auf der Synology wohl per Default nicht aktiv ist.. Also als erstes mussten die Homeverzeichnise aktiviert werden
              (DMS --> Benutzer --> Erweitert) .. dann per ssh drauf und folgendes eingetragen:
              Code:
              $ mkdir ~/.ssh
              $ chmod 0700 ~/.ssh
              $ touch ~/.ssh/authorized_keys
              $ chown -R EUER_BENUTZER ~/.ssh
              $ chmod 0600 ~/.ssh/authorized_keys
              dann in die authorized_key eben den Inhalt des Pub Files eingetragen..

              Leider geht es noch nicht. Ich bekomm beim LBS immer die Fehlermeldungen im Log:
              {EDOMI,ERRLOG_2017-02.htm,10.02.2017,15:31:28,011518,17426}
              Zeitstempel ms Prozess PID Meldung Status
              2017-02-17 08:32:12 902004 ? 32365 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000306.php | Fehlercode: 2 | Zeile: 32 | ssh2_auth_pubkey_file(): Authentication failed for root using public key: Username/PublicKey combination invalid ERROR
              2017-02-17 08:32:12 903872 ? 32365 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000306.php | Fehlercode: 2 | Zeile: 45 | ssh2_exec() expects parameter 1 to be resource, boolean given
              Ich hab das am Edomi Server als Root ausgeführt... am Synology bin ich der User "Admin".. hat es damit was zu tun ?


              Gruß Martin
              Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

              Kommentar


                #8
                Teste die Verbindung mal mit Putty wie hier beschrieben: https://www.howtoforge.de/anleitung/...ins-mit-putty/ Ab Punkt 3 sollte es für Dich losgehen.
                Dazu die .ppk Datei vom Edomi Server auf deinen PC kopieren
                Du musst bei Putty noch unter Conection/ssh/Auth den Pfad zu Deiner .ppk Datei angeben( fehlt da irgendwie)

                Kommentar


                  #9
                  geht auch nicht... "Server refused our key"... grrrr...
                  Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                  Kommentar


                    #10
                    Dann musst Du auf der syno weiterforschen (userrechte?)

                    Kommentar


                      #11
                      Schau mal in /etc/ssh/sshd_config. Dort steht ggf folgendes:


                      Code:
                      #RSAAuthentication yes
                      #PubkeyAuthentication yes
                      #AuthorizedKeysFile .ssh/authorized_keys

                      Das musst du wie folgt ändern:


                      Code:
                      #RSAAuthentication yes
                      PubkeyAuthentication yes
                      AuthorizedKeysFile .ssh/authorized_keys

                      Ich vermute danach muss der sshd neugestartet werden, d.h. ggf. Synology neustarten oder sshd manuell neustarten.
                      Und dann noch mal testen...

                      Kommentar


                        #12
                        Andre, das hab ich schon gemacht.. bzw. schon so eingestellt... grrrr...

                        geht immer noch nicht... hab schon div. Tipps aus div. Foren probiert... irgendwie weigert sich die Synology...
                        Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                        Kommentar


                          #13
                          hast du das .pub File 1:1 in authorized_hosts reinkopiert?
                          Wie ist die Berechtigung vom Verzeichnis .ssh? Mach die am besten mal 700.

                          Kommentar


                            #14
                            Hier wird auch über die userrechte vom /home Verzeichniss geschrieben https://forum.synology.com/enu/viewtopic.php?t=116726. Ich weis nicht mehr, wie ich das damals bei mir zum laufen gebracht habe. War aber auch etwas tricky.

                            Kommentar


                              #15
                              what i did:

                              also ich hab mit dem Putty Keygen ein 1024 bit verschlüsselten Key (pair) erstellt... den public Key hab ich aus dem "Copy/Paste" Fenster des KeyGen direkt in das
                              authorized_keys file kopiert.. dabei hab ich darauf geachtet, das es nur eine Zeile ist.. und auch keine weiteren Zeilen im File sind.
                              Dann hab ich ppk Datei unter Putty "Auth" angegeben.. mit dem gezeigten Resultat...
                              Die Berechtigungen sind folgende:
                              .ssh = 0700 (Eigentümer Admin)
                              authorized_key = 0600 (Eigentümer Admin)

                              Micha, ich schau mir jetzt mal deinen Link an..

                              Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                              Kommentar

                              Lädt...
                              X