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
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.
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.
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.
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 ?
Hast du deinem DOIF auch mittlerweile eine Bedingung gegeben?
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.