FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: achim60 am 14 April 2017, 14:00:23

Titel: SSH Shell-Befehl aufrufen
Beitrag von: achim60 am 14 April 2017, 14:00:23
Hallo, ich habe mir ein Test Device erstellt um ein SSH Befehl per Shell abzusetzen.
Fhem läuft auf einem Raspberry. (Eine SSH-Authentifizierung mit Schlüsselpaaren wurde erstellt)

Es passiert aber nichts wenn ich das Device per set di_nureintest starte.

Auf der Shell funktioniert es mit  ssh 192.168.178.68 -p 22 -l pi -t ./cam-flur.sh

Dort geht er auf einen anderen Raspberry (192.168.178.68) und führt dort das  Shell-Script cam-flur.sh aus.



Internals:
   CFGFN
   DEF        ({system('sudo ssh 192.168.178.68 -p 22 -l pi -t ./cam-flur.sh');;;;})
   NAME       di_nureintest
   NR         872
   NTFY_ORDER 50-di_nureintest
   STATE      initialize
   TYPE       DOIF
   Readings:
     2017-04-14 13:45:59   state           initialize
   Condition:
     0          {system('sudo ssh 192.168.178.68 -p 22 -l pi -t ./cam-flur.sh');;;;}
   Devices:
   Do:
     0:
       0
     1:
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Itimer:
   Regexp:
   State:
Attributes:
   do         always
   room       Cam




Gruß
Achim
Titel: Antw:SSH Shell-Befehl aufrufen
Beitrag von: stromer-12 am 14 April 2017, 14:14:52
Ich vermute mal, da FHEM mit dem Benutzer fhem läuft und du deine Key unter dem Benutzer pi abgelegt hast, wird das so nicht funktionieren.
Du kannst ja das KeyFile als Option mit übergeben.

Edit: Auf das KeyFile (Privater Schlüssel) hat aber im Normalfall nur der Besitzer Zugriff.
Titel: Antw:SSH Shell-Befehl aufrufen
Beitrag von: CoolTux am 14 April 2017, 14:54:06
Das allein wird nicht reichen. Bei jeder ersten Verbindung mit einem Rechner wird ein Maschienenkey angelegt. Diesen muss man einmalig bestätigen. Also wenn dann den ganzen Ordner .ssh vom User pi nach /opt/fhem/ und die Rechte anpassen.
Titel: Antw:SSH Shell-Befehl aufrufen
Beitrag von: igami am 14 April 2017, 15:01:46
Und du hast als Bedingung deinen Ausführungsteil im DOIF angegeben.
Den Befehl kannst du übrigens auch in Anführungszeichen setzen. Siehe dazu die commandref fhem Befehlstypen oder so ähnlich heißt der Abschnitt.
Titel: Antw:SSH Shell-Befehl aufrufen
Beitrag von: achim60 am 15 April 2017, 12:15:41
Zitat von: CoolTux am 14 April 2017, 14:54:06
Das allein wird nicht reichen. Bei jeder ersten Verbindung mit einem Rechner wird ein Maschienenkey angelegt. Diesen muss man einmalig bestätigen. Also wenn dann den ganzen Ordner .ssh vom User pi nach /opt/fhem/ und die Rechte anpassen.


Hallo,
habe ich gemacht, jedoch ohne Erfolg. Es passiert einfach nichts  ???
Gehe ich den richtig vor oder sollte man das WOL Modul dafür eher nutzen ?
Titel: Antw:SSH Shell-Befehl aufrufen
Beitrag von: igami am 15 April 2017, 14:16:41
Hast du deinem DOIF auch mittlerweile eine Bedingung gegeben?
Titel: Antw:SSH Shell-Befehl aufrufen
Beitrag von: CoolTux am 15 April 2017, 15:10:18
 Schau Dir Mal den su Befehl an. Da kannst du einen Befehl als User pi ausführen dessen Kontext als User fhem laufen soll. Damit kannst Du erstmal Deine ssh Findig für User pi testen.
Ansonsten nehme lieber WOL. Man muss schon bisschen vertraut mit Linux oder BSD sein für ssh Geschichten.