[Gelöst] Zyxel NAS542 Herunterfahren

Begonnen von Gear, 06 März 2019, 20:41:36

Vorheriges Thema - Nächstes Thema

Otto123

#30
sorry muss chmod heissen  :-[

Bei deiner Befehlsfolge aus #27 kann ich Dir leider nicht helfen mit sshpass & co hatte ich nie Erfolg.
Und die Folge mit den Inputs innerhalb vom Input ist mir auch zu undurchsichtig. Scheint so ja nur im Terminal zu gehen.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Gear

Hihihi alles gut Otto. :D
Danke, mit CHMOD geht es.

Ja, es scheint nur im Terminal zu funktionieren, ich werde weiterschauen, ob ich eine Lösung finde.
Danke dennoch =)
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Otto123

sagen wir mal so, was mir gerade auffällt. Warum machst Du nicht ein Script auf der NAS? Du kannst dann einfach das Script über ssh starten.
Vielleicht ändert das nichts am eigentlichen Problem, aber jetzt machst Du ja auch noch "Remote Terminal Input"
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wernieman

Otto schrieb:
"chmod +x /opt/fhem/ShutDown_NAS_FS.sh"

Du dagegen:
"chmod +x "bash /opt/fhem/FHEM/OwnScript_SSH_Shutdown_NAS_FS.sh""

Siehst Du den Unterschied?

Für ssh ohne Passwort gibt es eine Lösung, lies Dich bitte ein, Tipps hast Du hier bekommen. sshpass ist .... absolut NICHT empfehlenswert und Software ... aus dem "Krautladen"

Pseudo-terminal will not be allocated because stdin is not a terminal.
Dein sshpass oder irgend etwas aus Deinem Script braucht ein "echtes" Terminal mit echten Eingabearten. Damit KANN es nicht mit FHEM funzen, da alle automatischen Scripte (wie z.B. auch cron-scripte), eine solche Terminalfunktion nicht bitten können. Schließlich sitzt kein Mensch mit Tastatur davor ...

Edit:
Kann Otto nur Zustimmen. Alle Möglichkeiten für ssh siehe man-File:
man ssh
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Gear

Ok, hab das richtige nun ausgeführt, ändert dennoch nichts.

Also, wenn ich das richtig verstehe, dann soll ich das so machen wie von Otto in seinem BlogBeitrag beschrieben?
> https://heinz-otto.blogspot.com/2017/01/per-ssh-remote-befehle-direkt-ausfuhren.html

Habe ich gerade erneut versucht, zudfem auf dem NAS von Hand die Ordner angelegt, da man ohne Rechte (su) nichts machen kann.
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
sh: can't create .ssh/authorized_keys: Permission denied


Ich weiß nicht wie ich das auf den NAS bekommen soll!?
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Otto123

#35
Du musst mal schauen (suchen) ob das bei zyxel überhaupt geht.
Hab das hier gefunden: https://businessforum.zyxel.com/discussion/1115/ssh-implement-ssh-public-key-authentication
Aber andererseits ist es wohl openssh, da sollte das gehen.

ssh mit public key wird nicht mit erhöhten Rechten eingerichtet, sondern für den User. Der macht dann su ...

Also wenn Du was mit su machen musst ist es eigentlich generell falsch.

Schreib mal genau die Schritte die Du machst, nicht nur die Ausgaben
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Gear

So, ich habe es so halb geschafft.

Es funktioniert, sobald ich aber FHEM bzw den Pi neustarte geht es nicht mehr und ich muss den Key neu übertragen.
Woran könnte das liegen?
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Gear

Ok, sry es lag nicht am Pi, sondern am NAS, sobald dieser neustartet ist der Key weg.
Zudem wird die crontab resetet.
Nun weiß ich nicht, wie ich das am besten umsetze, dass der Key nicht verloren geht, jemand eine Idee?
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Otto123

Moin,

wird der Key ev. in einem Ram Filessystem gespeichert und nicht im Flash abgelegt?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Gear

Moin,
wie kann ich das herausfinden?
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Otto123

Danach suchen,  :D
ich weiß nur das bei solchen Systemen nur bestimmte Dinge im Filesystem dauerhaft geschrieben werden, weil sonst der Flash kaputt geht. Deswegen wird das Aktive Filesystem nur im RAM abgebildet. Aber wie gesagt, ich habe keine Zyxel...
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Gear

Alles gut Otto, danke, mir hat es dennoch weitergeholfen.
Habe seit heute Morgen gesucht, im Zyxel Forum wird es zwar so ähnlich beschrieben wie in deinem BlogBeitrag.
Zudem habe ich noch für andere NAS-Systeme die Prozedur versucht, leider ohne Erfolg.
Die überlegung den NAS auf Debian umzuflashen war eine weitere Überlegung, jedoch will ich keine ca. 8TB irgendwo zwischenspeichern.. =O

Ich schreibe gerade eine kurze Anleitung wie man das alternativ machen kann ohne den Key. =)
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Gear

So, ich habe nun am laufen, anders als gewollte oder geplant.
Ich mache es nun doch über "sshpass", da der Zyxel NAS zwar die bessere Lösung mit dem SSH-Key unterstützt, aber nach einem Neustart alles zurücksetzt und es dann nicht mehr funktioniert.

Anbei eine kurze Anleitung wie man das genannte Problem umgehen kann.
> Anbei kann man die Prozedur auch für Multiline CMDs umschreiben und nutzen.



Weg über "sshpass"
Zuerst muss sshpass auf dem System installieren, welches den Remote steuern soll installiert werden:
sudo apt-get install sshpass

Nun legen wir eine File über FHEM (Edit files) an, die wir z.B. als "Shutdown_NAS_FS.sh" bennen und folgendes einfügen:
#!/bin/bash

sshpass -p PASSvonROOT ssh root@IPdesHOST poweroff &

Das & am Ende lässt den Befehl im hintergrund ausführen und somit wir keine Console benötigt.
Man muss nicht Root als User nehmen, jedoch muss der gewählte User ohne Passwort eingabe die Möglichkeit haben Poweroff auszuführen

Dann führen wir folgenden Befehl aus:
"chmod +x /opt/fhem/FHEM/Shutdown_NAS_FS.sh"

Nun wird noch das ATTR des WOL Device gesetzt:
attr WOL.Device shutdownCmd "bash /opt/fhem/FHEM/Shutdown_NAS_FS.sh"



Danke an alle die geholfen haben. =)
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

redblack1893

Kann mir einer beim einrichten helfen . Ich würde dasselbe gerne wie Gear machen . Würde meinen Nas auch gerne ausschalten. Leider bin ich Anfänger und weiß nicht wie ich dieses Skript schreibe . Würde das einer für mich übernehmen und mir per E-Mail zusenden. Danke

Otto123

Moin,

meinst Du das ernst? Dir soll einer diese beiden Zeilen per Email senden?
#!/bin/bash

sshpass -p PASSvonROOT ssh root@IPdesHOST poweroff &


Zum Rest kann ich wenig sagen ich habe keine Zyxel und kenne die sshpass Methode nur vom lesen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz