NEWS
ssh exec wird nicht ausgeführt
-
Hallo, ich möchte von meinem ioBroker, der auf dem RaspberryPi läuft, auf meinem DietPi einen shutdown auslösen.
Was bisher geht:
- ich habe für meinen user "bernd" ssh-key eingerichtet und kann mit dem Befehl
ssh -p 5354 bernd@192.168.178.17 "sudo systemctl reboot"
den reboot auslösen.
Von Blockly im ioBroker geht das nicht, da der Nutzer ja iobroker ist. Auf der Shell kann ich mich als iobroker aber nicht einloggen. Wie kriege ich das Ganze zum Laufen?
Danke schonmal für eure Hilfe.
Edit: im Beispielkommando oben habe ich ein reboot drin und kein shutdown, sonst muss ich während der Tests immer in die Garage laufen und dort kurz den dietPi vom Strom trennen
-
Du hast hier 2. Aspekte.
Einmal muss der User Iobroker ssh auch ausführen dürfen.
Auf der Shell kannst du den Befehl als User testen indem du dich um loggstsudo -u iobroker bash
Das ruft eine neue Shell als User Iobroker auf.
Im shellprompt sollte dann auch Iobroker stehen
Dann kannst du deinen ssh Befehl testen.Der 2. Aspekt ist, die Remote Maschine
Darf sich den ein User Bernd dort einloggen.
Sind die ssh keys richtig erstellt
Und darf ein User Bernd den diesen Befehl auch ohne Passwort ausführen?
Ich gehe mal davon aus, wenn du den reboot Prozess ausführst, das erstmal auch eine Passwort Abfrage kommt, die du so per ssh nicht eingeben kannst.
Dafür gibt es die Möglichkeit für bestimmte Nutzer bestimmte Befehle freizuschalten, das man dafür kein Passwort eingeben muss.
Das Verfahren ist hier beschrieben. Der Iobroker nutzt das ebenfalls, wenn du mal spicken willst.
https://wiki.ubuntuusers.de/sudo/Konfiguration/
Bitte beachte aber auch den roten Achtung Kasten. Da das so ziemlich das innerste der Sicherheit von linux betrifft, kann man bei einem Fehler das System auch unbenutzbar machen. -
@oliverio Ah, mit dem Befehl kann ich mich als iobroker einloggen. super. Damit kann ich dann die ssh-keys anlegen. Perfekt. Danke. Ich werde das heute im Laufe des Tages ausprobieren und melde mich dann wieder.
Den 2. Aspekt:
- ja, User Bernd kann sich dort einloggen
- ssh-keys sind richtig eingestellt für den Nutzer bernd, kann man dann ja einfach testen mit ssh -p 5354 bernd@192.168.178.17
- Beim Ausführen ohne Passwort habe ich lange gekämpft, aber ja, das geht jetzt auch. Ich habe da in der sudoer Datei einige Einträge gemacht, welche Befehle der user Bernd ohne Passwort ausführen darf und welche sudo Befehle er überhaupt ausführen darf. Da konnte ich gut Wissen aufbauen und meinen anderen Raspi auch dementsprechend sicherer machen.
- Genau, es kann unbrauchbar werden. Deswegen habe ich es fast immer über visudo gemacht. Allerdings habe ich beim Probieren, den Befehl ohne Passwort abzusetzen, eine minimal sudoer Datei erstellt und mich dann selbst ausgesperrt. Ich konnte dann als Nutzer keinen einzigen sudo Befehl mehr absetzen. Nur noch ein Editieren der sudoer Datei an einem anderen Linux konnte ich das Beheben.