Synology NAS ausschalten

Allgemeine Fragen rund um die "Smart Home" Hardware/Komponenten

Moderatoren: seppy, udo1toni

Benutzeravatar
udo1toni
Beiträge: 14004
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Synology NAS ausschalten

Beitrag von udo1toni »

Lies Dir mein Posting (das unter dem Link) durch, dort habe ich das ganz genau erklärt :)

Zu Deinem verständnisproblem:

openHABian: eine Scriptsammlung, mit der man sehr bequem zu einem openHAB System unter GNU/Linux kommt, mitsamt vielen Extras, die nicht alle unbedingt nötig sind, aber vielleicht praktisch.
openHABian Image: ein Raspberry Pi OS lite Image mit voreingerichtetem openHABian. Nicht mehr und nicht weniger. Raspberry Pi OS basiert auf Debian, aktuell Bullseye.

openhabian (in Kleinbuchstaben): Der User, den openhabian-config (das Hauptscript von openHABian) automatisch auf dem GNU/Linux System erstellt, um das System zu administrieren. Man kann auch einen anderen User zur Administration verwenden und diesen in der openhabian.conf eintragen.

openHAB: Ein SmartHome Multi Gateway mit angedockter UI und Rule Engine. Dient der Interkommunikation zueinander inkompatibler SmartHome Systeme.

openhab (in Kleinbuchstaben): Der User, unter dem der Dienst openHAB läuft. Dieser User ist ein Systemuser, unter normalen Bedingugnen kann man sich nicht als User openhab am GNU/Linux System anmelden.

Um zu Testzwecken dennoch eine Shell als angemeldeter User openhab zu bekommen, muss man zu einem Trick greifen:

Code: Alles auswählen

sudo su - -s /bin/bash openhab
  • sudo -> Startet das nächste Programm als User root. root wird nicht nach einem Passwort gefragt, wenn es su ausführt.
  • su -> switch user (oder shell user, oder...) Man meldet sich mit einem bestimmten User an einer Shell an. Wird kein User angegeben, so wird root verwendet. Deshalb wird su oftmals fälschlich auch als super user interpretiert.
  • - (ein einzelnes Minus) -> Es wird in den Default Kontext des Users gewechselt (das heißt, die .bashrc, .profile usw. des Users werden geladen und das Verzeichnis wird auf das home-Verzeichnis des Users geändert.
  • -s /bin/bash -> es wird eine ganz bestimmte Shell verwendet, eben /bin/bash
  • openhab -> Der User, als der man sich anmeldet.
Ist aber ebenfalls unter dem Link erläutert :)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

filmgucker2
Beiträge: 228
Registriert: 8. Apr 2020 20:59
Answers: 0

Re: Synology NAS ausschalten

Beitrag von filmgucker2 »

Bitte nicht die Geduld verlieren...Die keys liegen ja schon in den Verzeichnissen auf meinem Pi und dem Synology.
Auch die Verbindung klappt über die Konsole.
Mein user auf dem Synology heißt openhab, und ich bin auf meinem Pi openhabian@openhabian. Ich lese immer
wieder Deinen Thread, verstehe aber nicht, wie ich von openhabian@openhabian aus dem user openhab die
entsprechenden Rechte geben kann. Ich muss doch wohl den Key in ein Verzeichnis .ssh mit Rechten von openhab
kopieren? Ist das ein anderes als das von openhabian? In der englischen Anleitung steht am Ende auch,
dass die Keys für den user openhab (auf dem Pi) neuerdings anzulegen sind...
Raspberry Pi 4, OH 4.0.3

Benutzeravatar
udo1toni
Beiträge: 14004
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Synology NAS ausschalten

Beitrag von udo1toni »

Die Datei mit dem Private Key muss im home-Verzeichnis des Users openhab liegen (in einem Ordner mit dem Namen .ssh/)
Die Rechte der Datei müssen auf 600 gesetzt sein (mit ls -l $OPENHAB_HOME/.ssh/ muss die Ausgabe -rw------- 1 openhab openhab ... lauten, wobei die 1 vielleicht auch eine andere Zahl ist und die Punkte halt der Rest der Zeile, mit dem Namen des Private Keys am Ende)

Der User openhabian spielt beim Shutdown keine Rolle (Als Zahl: 0) openHAB läuft im Kontext des Users openhab, nicht im Kontext des Users openhabian.

Der User openhab auf dem openHAB System hat (bis auf den Namen) nichts mit dem User openhab auf dem Synology System zu tun.
Es ist auch nicht zwingend, für die Steuerung des Synology Systems einen User mit diesem Namen zu verwenden, allerdings verschafft es hier etwas Komfort, indem man den Usernamen und das @ weg lassen kann.
Weil der Private Key im ~/.ssh/ Verzeichnis (~/ ist das Home-Verzeichnis des aktuellen Users, hier also $OPENHAB_HOME/) liegt, kann man beim Aufruf des Keys das Verzeichnis weg lassen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

filmgucker2
Beiträge: 228
Registriert: 8. Apr 2020 20:59
Answers: 0

Re: Synology NAS ausschalten

Beitrag von filmgucker2 »

wenn ich mich als user openhab nicht auf den Pi einloggen kann, nur mit "openhabian",
wie kann ich an den Ordner .ssh des users openhab drankommen und was reinkopieren? Bislang liegt die Key Datei
im Verzeichnis ./ssh. Aber die gehört wohl openhabian...Das ist mein Verständnisproblem

Bei ls -l $OPENHAB_HOME/.ssh/ sagte er mir: no such file or directory
Raspberry Pi 4, OH 4.0.3

Benutzeravatar
udo1toni
Beiträge: 14004
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Synology NAS ausschalten

Beitrag von udo1toni »

Du hast vermutlich nicht vollständig gelesen...

Das Verzeichnis kannst Du mittels sudo anlegen:

Code: Alles auswählen

sudo mkdir $OPENHAB_HOME/.ssh
DNun gehört das Verzeichnis root. Deshalb musst Du den Besitz ändern:

Code: Alles auswählen

sudo chown openhab: $OPENHAB_HOME/.ssh
Die Rechte sollten schon korrekt gesetzt sein, mindestens 755 (bis hin zu 700), falls nicht:

Code: Alles auswählen

sudo chmod 700 $OPENHAB_HOME/.ssh
Die Schlüsseldatei kannst Du auf dem gleichen Weg in das Verzeichnis bringen:

Code: Alles auswählen

sudo mv meinkey $OPENHAB_HOME/.ssh/
Die Datei muss dem User openhab gehören und muss auf 600 gesetzt sein:

Code: Alles auswählen

sudo chmod 600 $OPENHAB_HOME/.ssh/meinkey
sudo chown openhab: $OPENHAB_HOME/.ssh/meinkey
Die genaue Reihenfolge der Befehle ist zweitrangig, ob man nun zuerst den Besitz ändert oder zuerst die Zugriffsmodi...

Und wie Du trotz Unmöglichkeit, Dich als User openhab anzumelden, dies dennoch bewerkstelligen kannst, ahabe ich weiter oben sogar hier im Thread erläutert :)

Code: Alles auswählen

sudo su - -s /bin/bash openhab
Und schwupp, bist Du als User openhab angemeldet.

Aber keine Dummheiten machen! ;)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

filmgucker2
Beiträge: 228
Registriert: 8. Apr 2020 20:59
Answers: 0

Re: Synology NAS ausschalten

Beitrag von filmgucker2 »

Natürlich nicht. Ich bin ganz brav...
Eingeloggt als openhabian. NAS ist an.
Alle Deine Befehle nacheinander eingegeben. Immer bestätigt mit openhabian@openhabian, keine Fehlermeldung.
Zuletzt grüner obenhab@openhabian. Toll!
...dachte ich.
Dann executeCommandLine("ssh", "openhab@nas", "-i", "id_rsa", "sudo", "poweroff")
NAS blieb an! Interessierte ihn überhaupt nicht...
...und für den Nutzer openhab wurde in der Konsole nach dem Passwort gefragt...und das kenne ich nicht.

Verzweiflung!!

Ich habe gerade noch versucht, die Key Datei mit mv vom openhabian Verzeichnis mit dem openhab user in das
andere Verzeichnis ohne sudo (da fragt er mich nach dem Passwort, dass ich nicht kenne) zu kopieren.
Ergebnis: "Permission denied"

und ich hab noch das eingegeben:

Code: Alles auswählen

sudo chown openhab: $OPENHAB_HOME/.ssh/id_rsa
[sudo] password for openhabian:
openhabian@openhabian:~ $ sudo chmod 600 $OPENHAB_HOME/.ssh/id_rsa
openhabian@openhabian:~ $ sudo -u openhab ls -l ~/.ssh
ls: cannot access '/home/openhabian/.ssh/authorized_keys': Permission denied
ls: cannot access '/home/openhabian/.ssh/id_rsa.pub': Permission denied
ls: cannot access '/home/openhabian/.ssh/authorized_keys’': Permission denied
ls: cannot access '/home/openhabian/.ssh/known_hosts': Permission denied
total 0
-????????? ? ? ? ?            ? authorized_keys
-????????? ? ? ? ?            ? authorized_keys’
-????????? ? ? ? ?            ? id_rsa.pub
-????????? ? ? ? ?            ? known_hosts

Die id_rsa Datei als Schlüssel liegt im usr/share/openhab/.ssh Verzeichnis, wie mir von openhab@openhabian mit ls berichtet wird...
Raspberry Pi 4, OH 4.0.3

Benutzeravatar
udo1toni
Beiträge: 14004
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Synology NAS ausschalten

Beitrag von udo1toni »

Zeig mal bitte, an welcher Stelle nach dem Passwort gefragt wird.

executeCommandLine() ist ein Befehl (genauer: eine Action) der DSL, das wird nicht in der Linux Shell eingegeben.

Was passiert, wenn Du

Code: Alles auswählen

sudo su - -s /bin/bash openhab
eingibst? Wenn Du in einer Shell landest und als User openhab@openhabian angemeldet bist, gut.
Was passiert, wenn Du in dieser Shell

Code: Alles auswählen

ls -l ~/.ssh/
eingibst? Ist dort die Datei id_rsa zu sehen? Gehört sie dem User openhab? Sind die Dateirechte korrekt gesetzt (-rw-------)?
Wenn Du schon mal in der Shell als openhab angemeldet bist: Was passeirt, wenn Du

Code: Alles auswählen

ssh nas -i id_rsa
eingibst? Landest Du in einer Shell der Synology wie vorgesehen?
Falls ja, was passiert, wenn Du dort

Code: Alles auswählen

sudo poweroff
eingibst?

Die einzelnen Zeilen sind quasi die Demontage der Befehlskette, welche den Shutdown auslösen soll. (also abgesehen von dem ls)

Dieser Teil:

Code: Alles auswählen

openhabian@openhabian:~ $ sudo -u openhab ls -l ~/.ssh
ls: cannot access '/home/openhabian/.ssh/authorized_keys': Permission denied
ls: cannot access '/home/openhabian/.ssh/id_rsa.pub': Permission denied
ls: cannot access '/home/openhabian/.ssh/authorized_keys’': Permission denied
ls: cannot access '/home/openhabian/.ssh/known_hosts': Permission denied
total 0
-????????? ? ? ? ?            ? authorized_keys
-????????? ? ? ? ?            ? authorized_keys’
-????????? ? ? ? ?            ? id_rsa.pub
-????????? ? ? ? ?            ? known_hosts
erscheint mir unlogisch, wenn der Befehl als User openhab ausgeführt wird, sollte der Kontext ~/ auf /usr/share/openhab/ zeigen, nicht auf /home/openhabian/.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

filmgucker2
Beiträge: 228
Registriert: 8. Apr 2020 20:59
Answers: 0

Re: Synology NAS ausschalten

Beitrag von filmgucker2 »

Mir erschien das auch unlogisch, und die Schritte, die Du gerade abfragtest, habe ich heute
morgen so ähnlich auch probiert. Die Keys lagen im richtigen Verzeichnis. Das gehörte auch
openhab mit den richtigen Rechten.
Und dann hab ich Folgendes Script gemacht:

Code: Alles auswählen

executeCommandLine("ssh","openhab@nas","-i","/usr/share/openhab/.ssh/id_rsa","sudo","poweroff")
...und er fing an zu rumpeln und nach einer Weile waren die Lichter aus :D

Geschafft! In einer Rule sag ich openhab dann, dass das Script ausgeführt werden soll, wenn der PC offline geht.
Und das tut er auch. Ich hab also nur das vollständige Home Verzeichnis des geheimnisvollen users openhab
in die executeCommandline eingegeben, was wohl dazu führte, dass er nicht mehr im openhabian home Verzeichnis suchte
und da natürlich abblitzte.

Ich hab vorher noch ein update von meinem oh3.4 über openhabian-config durchgeführt. Jetzt fällt mir auf,
dass er bei Anfertigung einer Rule über die GUI nach Eingabe des "When" Ereignisses bei Add Action und run other Script"
die vorhandenen Rules/Scripts nicht mehr anbietet. Diese Baustelle habe ich dann dadurch umschifft, dass ich aus einer
anderen Rule den "Code" zu actions kopierte, in den Code der neuen Rule einfügte und dann den Namen des auszuführenden
Scripts im Code einfach ersetzte.

Alles in allem mal wieder eine schwere Geburt und wie immer ein herzliches Dankeschön an den geduldigen udo1toni!
Raspberry Pi 4, OH 4.0.3

Antworten