FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: okenny am 29 Dezember 2015, 18:53:25

Titel: -gelöst- SSH zu Remote pi
Beitrag von: okenny am 29 Dezember 2015, 18:53:25
Hallo,

Ich habe zwei Raspberrypi's am laufen, der eine ist mein Hauptserver, der andere hat ein 433MHz Sender an den GPIOs.

mit dem zweiten Pi kann ich meine Funksteckdosen schalten
per SSH /home/pi/433Utils/RPi_utils/codesend 1394004
In FHEM define off_SittingRoom.Light1 notify SittingRoom.Light1:off {system("/home/pi/433Utils/RPi_utils/codesend 1394004")}

es funktioniert prima....

ich möchte aber nicht zwei FHEMs getrennt nutzen müssen, deswegen habe ich mit SSH Keys es so hingekriegt, dass ich auf dem Hauptserver per SSH Befähle zum zweiten Pi schicken kann, z.B. ssh pi@192.168.1.193 /home/pi/433Utils/RPi_utils/codesend 1394004

funktioniert auch prima....!

allerdings, wenn ich in FHEM (Hauptserver) folgendes in mache define off_SittingRoom.Light1 notify SittingRoom.Light1:off {system("ssh pi@192.168.1.193 /home/pi/433Utils/RPi_utils/codesend 1394004")}

bekomme ich die Fehlermeldung "ssh: Could not resolve hostname pi.168.1.193: Name or service not known"

was kann das Problem sein? Danke schön....
Titel: Antw:SSH zu Remote pi
Beitrag von: CoolTux am 29 Dezember 2015, 19:07:40
Zitat von: okenny am 29 Dezember 2015, 18:53:25
Hallo,

Ich habe zwei Raspberrypi's am laufen, der eine ist mein Hauptserver, der andere hat ein 433MHz Sender an den GPIOs.

mit dem zweiten Pi kann ich meine Funksteckdosen schalten
per SSH /home/pi/433Utils/RPi_utils/codesend 1394004
In FHEM define off_SittingRoom.Light1 notify SittingRoom.Light1:off {system("/home/pi/433Utils/RPi_utils/codesend 1394004")}

es funktioniert prima....

ich möchte aber nicht zwei FHEMs getrennt nutzen müssen, deswegen habe ich mit SSH Keys es so hingekriegt, dass ich auf dem Hauptserver per SSH Befähle zum zweiten Pi schicken kann, z.B. ssh pi@192.168.1.193 /home/pi/433Utils/RPi_utils/codesend 1394004

funktioniert auch prima....!

allerdings, wenn ich in FHEM (Hauptserver) folgendes in mache define off_SittingRoom.Light1 notify SittingRoom.Light1:off {system("ssh pi@192.168.1.193 /home/pi/433Utils/RPi_utils/codesend 1394004")}

bekomme ich die Fehlermeldung "ssh: Could not resolve hostname pi.168.1.193: Name or service not known"

was kann das Problem sein? Danke schön....

define off_SittingRoom.Light1 notify SittingRoom.Light1:off {system("ssh pi\@192.168.1.193 '/home/pi/433Utils/RPi_utils/codesend 1394004'")}

So sollte es gehen.


Grüße
Titel: Antw:SSH zu Remote pi
Beitrag von: okenny am 29 Dezember 2015, 19:11:15
Danke schön!!!  :D

leider geht's aber immer noch nicht....  :-\
jetzt bekomme ich "Host key verification failed."

wenn es per SSH geht, wieso nicht in FHEM?

Danke wieder mal.
Titel: Antw:SSH zu Remote pi
Beitrag von: CoolTux am 29 Dezember 2015, 19:30:33
Weil Dein user welcher nun SSH macht ein anderer ist. Nämlich Dein FHEM user. Du musst den passkey als FHEM user einmalig erstellen. Oder du kopiert die korrekte Datei aus deinem pi user homeverzeichniss unter .ssh nach fhem homeverzeichniss .ssh



Grüße
Titel: Antw:SSH zu Remote pi
Beitrag von: CoolTux am 29 Dezember 2015, 19:32:11
Die Datei heißt authorized_keys und befindet sich im Homeverzeichniss unter .ssh
Titel: Antw:SSH zu Remote pi
Beitrag von: okenny am 29 Dezember 2015, 19:57:08
okay, danke.
In meinem /home Verzeichnis finde ich nur ein pi Ordner und kein FHEM Ordner.

muss ich den FHEM Ordner erstellen?  :-\
Titel: Antw:SSH zu Remote pi
Beitrag von: CoolTux am 29 Dezember 2015, 19:59:35
Nein. Du musst in der passwd schauen was für fhem als homeverzeichniss hinterlegt ist. Normalerweise /opt/fhem/
Titel: Antw:SSH zu Remote pi
Beitrag von: Otto123 am 29 Dezember 2015, 20:03:49
Und warum eigentlich nicht per FHEM2FHEM oder Telnet 7072?

Warum so kompliziert? per ssh?

Gruß Otto
Titel: Antw:SSH zu Remote pi
Beitrag von: CoolTux am 29 Dezember 2015, 20:06:37
Zitat von: Otto123 am 29 Dezember 2015, 20:03:49
Und warum eigentlich nicht per FHEM2FHEM oder Telnet 7072?

Warum so kompliziert? per ssh?

Gruß Otto


Zitat
ich möchte aber nicht zwei FHEMs getrennt nutzen müssen, deswegen habe ich mit SSH Keys es so hingekriegt, dass ich auf dem Hauptserver per SSH Befähle zum zweiten Pi schicken kann, z.B.
Titel: Antw:SSH zu Remote pi
Beitrag von: justme1968 am 29 Dezember 2015, 20:08:41
schau dir mal die SYSTAT version von hier: http://forum.fhem.de/index.php/topic,42771.msg348498.html#msg348498 (http://forum.fhem.de/index.php/topic,42771.msg348498.html#msg348498) an.

damit kannst du auch per ssh kommandos an das remote system schicken. den key austausch musst du ein mal vorher von hand machen.

gruss
  andre
Titel: Antw:SSH zu Remote pi
Beitrag von: Otto123 am 29 Dezember 2015, 20:12:53
Ok jetzt hab ich es auch kapiert 8) ich hatte verstanden auf beiden läuft FHEM  :-X

Gruß Otto
Titel: Antw:SSH zu Remote pi
Beitrag von: okenny am 29 Dezember 2015, 20:16:51
es spricht nix dagegeb FHEM2FHEM zu nutzen...ich dachte es wäre einfacher mit SSH zu arbeiten...  :(

Wie mach ich das mit FHEM2FHEM? Danke
Titel: Antw:SSH zu Remote pi
Beitrag von: CoolTux am 29 Dezember 2015, 20:18:33
Bitte schau mal ins Wiki rein.
Titel: Antw:SSH zu Remote pi
Beitrag von: okenny am 29 Dezember 2015, 21:18:21
ich habe jetzt im Wiki gelesen und auch schon rum probiert...

eist es definitiv so, dass FHEM2FHEM dafür funktioniert?
Ich nehme an, man braucht ein RAW FHEM2FHEM....
vom Wiki: "RAW
Bei diesem Verbindungstyp werden unaufbereitete Ereignisse (raw messages) des remote FHEM-Geräts devicename genau so empfangen, als wäre das Gerät lokal verbunden.
Einschränkungen: nur Geräte, welche die "Dispatch-Funktion" unterstützen (CUL, FHZ, CM11, SISPM, RFXCOM, TCM, TRX, TUL) erzeugen raw messages, und für jedes entfernte Gerät muss ein eigenes FHEM2FHEM Objekt erzeugt werden."

ich nützte doch keins dieser "CUL, FHZ, CM11, SISPM, RFXCOM, TCM, TRX, TUL"...
Habe ich etwas übersehen? Danke!
Titel: Antw:SSH zu Remote pi
Beitrag von: justme1968 am 29 Dezember 2015, 21:22:40
du brauchst/darfst kein raw fhem2fhem sonder log.

Titel: Antw:SSH zu Remote pi
Beitrag von: Otto123 am 29 Dezember 2015, 21:36:26
Zitat von: okenny am 29 Dezember 2015, 21:18:21
ich habe jetzt im Wiki gelesen und auch schon rum probiert...

eist es definitiv so, dass FHEM2FHEM dafür funktioniert?
Im Abschnitt mit LOG FHEM2FHEM steht eigentlich alles drin.

Bau Dir ein Beispiel mit dummys


Gruß Otto
Titel: Antw:SSH zu Remote pi
Beitrag von: Puschel74 am 29 Dezember 2015, 21:39:26
Und pass auf das du dir keine F2F-Schleife baust  ;)
Titel: Antw:SSH zu Remote pi
Beitrag von: okenny am 29 Dezember 2015, 22:10:31
es Funktioniert!!! Danke sehr!!  ;D ;D ;D ;D ;D

Titel: Antw:SSH zu Remote pi
Beitrag von: Puschel74 am 29 Dezember 2015, 22:12:28
Zitat von: okenny am 29 Dezember 2015, 22:10:31
es Funktioniert!!! Danke sehr!!  ;D ;D ;D ;D ;D
Sehr schön.
Dann noch - siehe mein angepinnter Beitrag  ;)
Titel: Antw:SSH zu Remote pi
Beitrag von: CoolTux am 29 Dezember 2015, 22:13:19
Und wie sieht die Lösung aus? Wurde FHEM2FHEM verwendet?



Grüße
Titel: Antw:SSH zu Remote pi
Beitrag von: okenny am 29 Dezember 2015, 22:17:52
ja, mit FHEM2FHEM....

ich denke mein Problem war, dass ich "define xxyz FHEM2FHEM..." in meiner fhem.cfg Datei nachdem ich meine Funksteckdosen definiert hatte, ich habe die reinfolge geändert und es ging.
Es gibt doch Hoffnung für mein Smarthome :)
Titel: Antw:SSH zu Remote pi
Beitrag von: Puschel74 am 29 Dezember 2015, 22:27:45
Zitat von: okenny am 29 Dezember 2015, 22:17:52
ich denke mein Problem war, dass ich "define xxyz FHEM2FHEM..." in meiner fhem.cfg Datei nachdem ich meine Funksteckdosen definiert hatte,
Ich denke dein Problem ist das du die fhem.cfg direkt bearbeitest.
Aber jeder wie er/sie will - nur wäre es nett wenn das im ersten Beitrag gepostet werden würde.
Nur wurde meine Bitte gekonnt ignoriert - sonst würde die Lösung im ersten Beitrag stehen und der Titel mit einem Gelöst markiert sein.
Titel: SSH zu Remote pi
Beitrag von: SirMarco am 20 März 2016, 15:08:29
Ich hänge leider an dem Host key verification failed. Problem fest:

Folgendes habe ich vor:

PI1 (mit FHEM) führt einen Script auf PI2(motioneye) aus.

Mit diesem Script soll der Motion Dienst gestartet/gestoppt werden.
Einen Dummy habe ich angelegt und ein notify
motioneye:off {system('/home/pi/motioneye_stop.sh');;}

Das Script funktioniert, nur wenn ich in FHEM schalten möchte kommt die log Meldung "Host key verification failed"

Liege ich richtig, das ich auf dem PI2 einen Key erstelle und auf PI1 einfüge?
Titel: Antw:-gelöst- SSH zu Remote pi
Beitrag von: CoolTux am 20 März 2016, 15:44:42
Kopiere das Verzeichnis /home/pi/.ssh nach /opt/fhem/ und  ändere den Owner und die Gruppe von .ssh in die selben wie die die /opt/fhem hat.
Titel: Antw:-gelöst- SSH zu Remote pi
Beitrag von: SirMarco am 20 März 2016, 16:30:17
und genau damit habe ich leider ein Problem:

Wie erstelle ich einen SSH-Key?
Muss der User auf dem PI2 auch FHEM heißen, da FHEM den script ausführt?
Titel: Antw:-gelöst- SSH zu Remote pi
Beitrag von: CoolTux am 20 März 2016, 17:00:03
Der Verification Key wird beim Erstellen der ersten SSH Session generiert und in der Datei unter .ssh abgelegt.
Das Erstellen eines Zertifikates zum Passwortlosen verbinden ist aber was ganz anderes. Ich gehe davon aus das hast Du bereits getan und die entsprechende public key Datei auch hinterlegt.


Grüße
Titel: Antw:-gelöst- SSH zu Remote pi
Beitrag von: SirMarco am 20 März 2016, 17:59:41
Da habe ich nie einen Key gefunden. Ist der immer in /home/pi/.ssh?
Da ist keine Datei vorhanden, auch nicht versteckt.

Grüsse
Titel: Antw:-gelöst- SSH zu Remote pi
Beitrag von: CoolTux am 20 März 2016, 18:09:50
Dann hast Du Dich nie als User Pi über SSH mit irgendwas verbunden. Wie die Datei heißt steht auf der ersten Seite des Threads.
Titel: Antw:-gelöst- SSH zu Remote pi
Beitrag von: CoolTux am 20 März 2016, 18:10:51
Gib mal den Inhalt Deines Scriptes
Titel: Antw:-gelöst- SSH zu Remote pi
Beitrag von: SirMarco am 21 März 2016, 21:51:22
Habe mich nochmal von PI1 zu PI2 verbunden und umgekehrt. Einen .ssh Ordner gibt es nicht (Versteckte Dateien werden angezeigt)

Der Inhalt ist ganz einfach und lässt sich auch per Terminal ausführen. #!/bin/bash
ssh pi@192.168.2.15 "/home/pi/webcam/./webcam.sh stop"
Titel: Antw:-gelöst- SSH zu Remote pi
Beitrag von: CoolTux am 21 März 2016, 22:08:12
Wo suchst Du denn .ssh Ordner denn und als welchen User hast Du Dich vom pi1 auf den pi2 verbunden?

Bisschen konkreter bitte
Titel: Antw:-gelöst- SSH zu Remote pi
Beitrag von: SirMarco am 22 März 2016, 17:28:11
Nochmal zusammen gefasst:

PI1 192.168.2.16 (FHEM)
PI2 192.168.2.20 (WebCam)

Folgendes habe ich vor:

Mit dem notify:
motioneye:off {system('/home/pi/webcam.sh');;}

möchte ich folgendes ausführen:
#!/bin/bash
ssh pi@192.168.2.20 "/home/pi/webcam/./webcam.sh stop"


Das Script läuft auf dem PI2 ohne Probleme. Meine Frage ist: Muss ich auf dem PI2 auch einen "FHEM" User einrichten? Da FHEM die Datei ausführt?
VOn PI1 habe ich mich bereits per SSH an PI2 verbunden