NEWS
[gelöst] Blockly .py Script per ssh auf Pi
-
Hallo Zusammen,
ich versuche derzeit ein kleines Smarthome Projekt abzuschließen und komme nicht ganz weiter.
Per Blockly möchte ich mit einem exec Block über SSH ein kleines python script auf einem anderen RPi (ohne iobroker) im gleichen Netzwerk ausführen. Ich hatte diesen Thread zu dem Thema bereits gefunden und versucht einige der Befehle zu nutzen, allerdings scheitert es bei mir an zwei Dingen:
-
die authentifizierung per public key scheitert - ich habe versucht für den User "iobroker" einen public key zu generieren und diesen auf dem RPi Nr 2 zu hinterlegen - dazu habe ich diese und diese Anleitung befolgt. Allerdings schlägt die Authentifizierung nach wie vor fehl.. Muss ich bei der Erstellung etwas iobroker-spezifisches beachten oder ssh-keygen es mit eingeloggtem "iobroker" nutzer ausführen? Ich weiß da leider nicht genau, wie ich vorgehen muss und die Anleitung bringen mich nicht mehr weiter..
-
der oben aufgeführte Thread, der sich bereits mit dem exec Block beschäftigt, lieferte einige Vorschläge, beispielsweise sich als User "iobroker" auf dem zweiten RPi anzumelden und dann
su -u iobroker -s /bin/bash auszuführen - ich verstehe allerdings nicht, in welche Reihenfolge das in meinem Fall geschehen müsste? Aktuell klappt das noch nichtmal direkt über den Terminal Adapter innerhalb ioBroker..
Meine hoffnungsvolle Vorstellung war, dass ich einfach sowas wie ssh 192.xxx.xx.xxx 'sudo python motor.py' ausführen kann und es damit erledigt ist.. aber es scheint komplizierter zu sein.
Ich bin dankbar für jeden Tipp - leider kenne ich mich nicht gut genug mit den debian/linux Feinheiten und mit den Befehlen aus. Ich bitte um Erbarmen
Vielen Dank vorab!
Beste Grüße
Sundance
-
-
Da hab ich es doch tatsächlich selbst gelöst bekommen - folgendes waren die Probleme:
-
der User "iobroker" hatte auf dem zweiten RPi noch keinen public key - habe gemäß der anleitung in diesem Post alles rüberkopiert und dann hat zumindest der Zugriff per SSH schonmal funktioniert
-
mein Script hatte leider ein paar Fehler und war falsch gedacht, letztlich musste ich mich einfach nur als "pi" anmelden und mein script ausführen, mit folgendem exec (in Blockly):
ssh -tt 192.xxx.xxx.xx -l pi sudo python script.py
Jetzt klappt alles problemlos!
-