Hallo zusammen,
ich habe meine beiden QNAPs in FHEM/WOL eingebunden. Das starten der QNAPs funktioniert tadellos.
Herunterfahren kann ich diese per Putty-Konsole vom Raspi aus mit dem Befehl
Zitatssh admin@192.168.xxx.x halt
In der Konsole werde ich dann nach dem Admin-PW gefragt. Der RSA-fingerprint wurden beim ersten Versuch zur Liste der bekannten Hosts hinzugefügt.
Wie kann ich denn jetzt den "Herunterfahrbefehl" dem Attribut "shutdownCmd" hinzufügen ? Habe hier was von einem "Shutdownskript" gelesen, weiss aber nicht was da alles genau rein muss..... :-[ . Hat da jemand bitte mal nen Tip für mich ?
So,
bin jetzt einen Schritt weiter.
Ich habe ein Shutdownscript angelegt, Rechte hierfür auf 777 gesetzt, und rufe den Shutdownbefehl via shutdownCmd auf.
Im Logfile steht dann aber:2014.10.05 20:46:35 3: [Filmserver] shutdownCmd: {system("/home/pi/TS419off.sh")} executed
The server's host key is not cached. You have no guarantee
that the server is the computer you think it is. The server's rsa2 key fingerprint is: ssh-rsa xxxxxxx
If you trust this host, enter "y" to add the key to PuTTY's cache and carry on connecting. If you want to carry on connecting just once, without
adding the key to the cache, enter "n". If you do not trust this host, press Return to abandon the connection. Store key in cache? (y/n) Connection abandoned.
2014.10.05 20:46:37 3: [Filmserver]-1
Starte ich das Skript von der Kommandozeile, so klappt es tadellos. Beim ersten Mal wurde gefragt, ob ich den Key im Cache speichern will, was ich bejaht habe. Beim Kommando via FHEM kommt die Frage aber wieder...
Hat jemand ne Idee ?
Prüfe mal die Rechte deines Skriptes! Darf der fhem user es ausführen?
Hi Patrick,
wenn ich doch die rechte des Scripts auf 777 setze, darf doch jeder User alles, oder nicht ?
Ich meine, ich habe mich auch mal als User fhem angemeldet, und dann das Skript per Kommandozeile ausgeführt, was geklappt hat.
Ich teste das nachher nochmal, sobald mein Server mit seinen Aufgabe für heute fertig ist, und heruntergefahren werden kann.
Ah ok! Hast du denn einen SSH-Key vergeben? Es darf keine Passwortabfrage beim Skriptaufruf kommen!?
Als ich das erste Mal das Skript per Kommandozeile gestartet habe, wurde der SSH-Key auf Nachfrage im Cache gespeichert. Danach kam dieser Hinweis per Kommandozeile nicht mehr (nur noch via FHEM). Den Raspi hatte ich seitdem NICHT mehr neu gestartet.
Du mir einen Gefallen und starte das Skript noch einmal mit dem fhem-User und poste die Ausgabe des Skriptes!
Äh, ich kann in der Konsole nicht mit "su fhem" zum User "fhem" wechseln....... Wieso ? Zum User "root" klappts...
Das setze mal eine valide Shell für den user fhem! Fhem läuft unter dem User fhem, nicht unter root!
als root ausführen auf dem Fhem Server!
usermod -s /bin/sh fhem
Danach noch einmal mit su - fhem einloggen und Skript ausführen!
Habe ich gemacht, aber jetzt komme ich nicht mehr an das Skript welches in /home/pi
liegt...
als root:
cp /home/pi/TS419off.sh /opt/fhem/
chmod 755 /opt/fhem/TS419off.sh
Noch einmal auf der Konsole ausführen und
danach glücklich sein und sich freuen :-)
Hi Patrick,
sodele, für meinen TS419 funktioniert es nun. Ich habe das Skript nach /opt/fhem kopiert und Rechte vergeben, dann auf der Konsole zum User fhem gewechselt und einmalig ausgeführt. Habe auf Nachfrage zugestimmt den SSH-Key zu speichern.
Shutdown aus FHEM funktioniert nun super. Dafür erstmal ein fettes "DANKE"
Ich habe aber noch einen 2. Server (Intel statt ARM-CPU). Dieser hat wegen des anderen Prozessors einen anderen Shutdownbefehl. Deswegen habe ich hierfür ein separates Skript.
Ich bin hierbei genauso vorgegangen, jedoch, auch wenn ich aus der Konsole das Skript starte, fährt das NAS herunter. Beim ersten mal hat es auch nach dem speichern des SSH-Keys gefragt, bejaht, beim 2. mal wird nicht mehr danach gefragt. Aus FHEM leider schon.
Noch ne Idee ?
Hi Bartimaus,
wäre es möglich, das Script und die Einrichtung hier genauer darzustellen?
Diese Funktion würde ich gern in FHEM für mein Qnap einbinden - komme aber nicht so recht weiter...
Grüße
@Bartimaus
Wenn dein ssh-skript auf der Konsole funktioniert, aber im FHEM nach dem key fragt (wo siehst Du das?), würde ich darauf tippen, das Du es auf der Konsole nicht mit dem "richtigen user" probiert hast.
1. Unter welchem user läuft fhem
ps aux | grep fhem
2. Hast Du es mit genau dem user auf der Konsole probiert?
als root:
su - fhem
hallo
ich wollte mal fragen wie dieses Skript Genua aussieht würde gerne auch meinen qnap mit dem wol Modul per shutdowncmd runterfahren
mfg martin
Hier gibt es anregungen zum Script ;-)
Link: http://openremote.org/display/forums/HowTo+-+QNAP+start-shutdown-status?showComments=false#HowTo-QNAPstart-shutdown-status-Shutdownscript (http://openremote.org/display/forums/HowTo+-+QNAP+start-shutdown-status?showComments=false#HowTo-QNAPstart-shutdown-status-Shutdownscript)
Link: http://nicht-traeumen-sondern-machen.de/RaspberryPi_Basteleien/Code_Qnaps_fernsteuern.php?anker=c6 (http://nicht-traeumen-sondern-machen.de/RaspberryPi_Basteleien/Code_Qnaps_fernsteuern.php?anker=c6)
Jetzt nur noch das script per FHEM starten, fertig ;-)
P.S. Somit könnt ihr auch den Status z.B. Temperatur usw. auslesen ...
Hallo
Ich bekomme das einfach nicht zum laufen :'(
Über einen Tipp wäre ich sehr dankbar.
auf der console vom raspi Funktioniert
ssh admin@192.168.1.16 halt
der qnap schaltet aus
dann habe ich ein script erstellt:
#!/bin/sh
ssh admin@192.168.1.16 halt
exit 0
mit dem Nahmen shutdown_qnap.sh
es liegt im fhem Ortner also unter /opt/fhem-5.7
dann habe ich das ganze ausführbar gemacht
sudo chmod a+x /opt/fhem-5.7/shutdown_qnap.sh
aber ich kann es nicht starten jemand eine Idee was ich Falsch mache?
/opt/fhem-5.7/shutdown_qnap.sh
./opt/fhem-5.7/shutdown_qnap.sh
/shutdown_qnap.sh
./shutdown_qnap.sh
sudo /opt/fhem-5.7/shutdown_qnap.sh
sudo ./opt/fhem-5.7/shutdown_qnap.sh
Ich bekomme immer solche Fehlermeldungen:
sudo: ./shutdown_qnap.sh: command not found
-bash: ./shutdown_qnap.sh: Permission denied
-bash: /opt/fhem-5.7/shutdown_qnap.sh: /bin/sh^M: bad interpreter: No such file or directory
Danke!
Gruß Markus
Darf der User es denn auch "lesen"?
also nicht nur "w" sondern auch "r"?
btw:
Am besten das Script dem User zuordnen, unter dem fhem läuft.
ja die Berechtigung vom Script hab ich auf 777 gesetzt.
Wie ordne ich es fhem zu?
muss ich noch etwas ins script schreiben? ist mein erstes Mahl ;)
Gruß Markus
ps aux | grep fhem
liefert folgendes ergebnis:
sagt mir aber nichts...
ps aux | grep fhem
fhem 567 5.8 5.7 55412 50592 ? S 16:52 6:10 perl fhem.pl fhem.cfg
pi 4020 0.0 0.2 4264 1972 pts/0 S+ 18:38 0:00 grep --color=auto fhem
Gruß Markus
1. User zuweise:
chown
2. Wegen Fehler:
Kannst Du mir bitte mal das Script "geben"? Finde es gerade nicht im Thread
Mich macht Stutzig:
-bash: /opt/fhem-5.7/shutdown_qnap.sh: /bin/sh^M: bad interpreter: No such file or directory
Hast Du es unter Linux oder Windows bearbeitet und womit?
Zitat von: Wernieman am 19 Januar 2016, 11:40:44
1. User zuweise:
chown
ja das hab ich gemacht
sudo chown fhem /opt/fhem/shutdown_qnap.sh
sudo chmod 777 /opt/fhem/shutdown_qnap.sh
Zitat von: Wernieman am 19 Januar 2016, 11:40:44
2. Wegen Fehler:
Kannst Du mir bitte mal das Script "geben"? Finde es gerade nicht im Thread
Mich macht Stutzig:
-bash: /opt/fhem-5.7/shutdown_qnap.sh: /bin/sh^M: bad interpreter: No such file or directory
Hast Du es unter Linux oder Windows bearbeitet und womit?
über putty vom Windows Rechner aus auf dem raspberry Aufruf: sudo mc ich glaub das Programm Heist nano
Das script hänge ich an
Gruß Markus
Das ist aber nicht das, mit dem Du die ersten ausgaben gemacht hast .... ??
Kannst Du bitte (nochmals" testen?
Natürlich hab ich das probiert bevor ich gepostet habe.
Ich teste seit Tagen alle möglichen Varianten durch und weis selber nicht so recht wie es richtig wäre.
das Skript hab ich schon versucht mit sh oder mit bash zu öffnen was soll ich verwenden? ist es überhaupt richtig?
beim Öffnen hab ich schon mit und ohne Pfad probiert auch .und/ in allen möglichen Kombinationen das Skript hat 777 rechte
auch den Aufruf habe ich schon mit sudo probiert jetzt wäre ich wirklich über einen kleinen tipp dankbar..
Gruß Markus
./opt/fhem-5.7/shutdown_qnap.sh -bash: ./opt/fhem-5.7/shutdown_qnap.sh: No such file or directory
pi@Agent-Wohnzimmer:~ $ ./opt/fhem/shutdown_qnap.sh
-bash: ./opt/fhem/shutdown_qnap.sh: No such file or directory
pi@Agent-Wohnzimmer:~ $ ./shutdown_qnap.sh
-bash: ./shutdown_qnap.sh: Permission denied
Also ...
1. ich glaube, das dieses Script Windows-Zeilenenden enthält, das mach Linux gar nicht ... folgendes würe ich auf einem x86-System machen, eigentlich sollte es bei RasPi genau so gehen
sudo apt-get install dos2unix
dos2unix ./opt/fhem/shutdown_qnap.sh
2. Irgendwie stimmt etwas nicht, deshalb möchte ich mal die "Rechte" überprüfen:
whoami
ls -lha ./opt/fhem/shutdown_qnap.sh
ls -lhad ./opt/fhem
3. Und sicherheitshalber die Shell überprüfen
ls -lha /bin/bash
echo $SHELL
ls -lha $(echo $SHELL)
Könntest Du uns den Output geben?
Und bitte bleibe ruhig .. wir gehen es jetzt mal systematisch an. Wir kriegen es schon raus!
Nur wenn Du etwas änderst, was ich nicht mitkriege ... :o(
Danke!
Ich hab das jetzt mal alles eingegeben und die gesamte Ausgabe aus putty angehängt.
Da ist noch etwas als ich fhem neu Installiert habe hat 5.7 einen neuen ortner unter opt angelegt und fhem ligt im ortner fhem-5.7 aber es existiert noch einer der ortner fhem der immer auf fhem-5.7 weiterleitet.
/opt/fhem =link nach /opt/fhem-5.7
/opt/fhem-5.7 =fhem Hauptortner mit meiner Datei
pi@Agent-Wohnzimmer:~ $ sudo apt-get install dos2unix
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
dos2unix
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 75.9 kB of archives.
After this operation, 204 kB of additional disk space will be used.
Get:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main dos2unix armhf 6.0.4-1 [75.9 kB]
Fetched 75.9 kB in 0s (93.9 kB/s)
Selecting previously unselected package dos2unix.
(Reading database ... 132566 files and directories currently installed.)
Preparing to unpack .../dos2unix_6.0.4-1_armhf.deb ...
Unpacking dos2unix (6.0.4-1) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up dos2unix (6.0.4-1) ...
pi@Agent-Wohnzimmer:~ $ dos2unix ./opt/fhem/shutdown_qnap.sh
dos2unix: ./opt/fhem/shutdown_qnap.sh: No such file or directory
dos2unix: Skipping ./opt/fhem/shutdown_qnap.sh, not a regular file.
pi@Agent-Wohnzimmer:~ $ dos2unix ./opt/fhem-5.7/shutdown_qnap.sh
dos2unix: ./opt/fhem-5.7/shutdown_qnap.sh: No such file or directory
dos2unix: Skipping ./opt/fhem-5.7/shutdown_qnap.sh, not a regular file.
pi@Agent-Wohnzimmer:~ $ ^C
pi@Agent-Wohnzimmer:~ $ whoami
pi
pi@Agent-Wohnzimmer:~ $ ls -lha ./opt/fhem/shutdown_qnap.sh
ls: cannot access ./opt/fhem/shutdown_qnap.sh: No such file or directory
pi@Agent-Wohnzimmer:~ $ ls -lha ./opt/fhem-5.7/shutdown_qnap.sh
ls: cannot access ./opt/fhem-5.7/shutdown_qnap.sh: No such file or directory
pi@Agent-Wohnzimmer:~ $ ls -lhad ./opt/fhem
ls: cannot access ./opt/fhem: No such file or directory
pi@Agent-Wohnzimmer:~ $ ls -lhad ./opt/fhem-5.7
ls: cannot access ./opt/fhem-5.7: No such file or directory
pi@Agent-Wohnzimmer:~ $ ls -lha /bin/bash
-rwxr-xr-x 1 root root 844K Oct 18 2014 /bin/bash
pi@Agent-Wohnzimmer:~ $ echo $SHELL
/bin/bash
pi@Agent-Wohnzimmer:~ $ ls -lha $(echo $SHELL)
-rwxr-xr-x 1 root root 844K Oct 18 2014 /bin/bash
pi@Agent-Wohnzimmer:~ $ ls
Desktop fhem-5.7.deb Music python_games Videos
Documents fhem-5.7.deb.1 Pictures shutdown_qnap.sh yowsup.config
Downloads hipi-install Public Templates
pi@Agent-Wohnzimmer:~ $ cd /opt
pi@Agent-Wohnzimmer:/opt $ ls
fhem hipi-install.1 master.zip.1 sonic-pi yowsup-config
fhem-5.7 hipi-install.2 master.zip.2 vc yowsup-master
hipi-install hipi-install.3 minecraft-pi Wolfram
pi@Agent-Wohnzimmer:/opt $ cd fhem-5.7
pi@Agent-Wohnzimmer:/opt/fhem-5.7 $ ls
backup fhem.cfg.demo probe tempListFruhschicht.cfg
cache fhemcmd.sh probe.cfg tempListRomantik.cfg
cfg fhem.db README_DEMO.txt tempListSommer.cfg
CHANGED fhem.db-shm README.SVN tempListUrlaub.cfg
configDB.pm fhem.db-wal regSave.cfg tempListWinter
contrib fhem.pl restoreDir tempListWinter.cfg
db.conf HISTORY shutdown_qnap.sh tempListWinterWarm.cfg
demolog log tempList ThermostatBad_Climate_config
docs Log tempList.cfg unused
FHEM Makefile tempListDisco.cfg webfrontend
fhem.cfg Musik templiste www
pi@Agent-Wohnzimmer:/opt/fhem-5.7 $ cd opt/fhem
-bash: cd: opt/fhem: No such file or directory
pi@Agent-Wohnzimmer:/opt/fhem-5.7 $ cd /opt/fhem
pi@Agent-Wohnzimmer:/opt/fhem $ ls
backup fhem.cfg.demo probe tempListFruhschicht.cfg
cache fhemcmd.sh probe.cfg tempListRomantik.cfg
cfg fhem.db README_DEMO.txt tempListSommer.cfg
CHANGED fhem.db-shm README.SVN tempListUrlaub.cfg
configDB.pm fhem.db-wal regSave.cfg tempListWinter
contrib fhem.pl restoreDir tempListWinter.cfg
db.conf HISTORY shutdown_qnap.sh tempListWinterWarm.cfg
demolog log tempList ThermostatBad_Climate_config
docs Log tempList.cfg unused
FHEM Makefile tempListDisco.cfg webfrontend
fhem.cfg Musik templiste www
pi@Agent-Wohnzimmer:/opt/fhem $ cd
pi@Agent-Wohnzimmer:~ $
Gruß Markus
Gabe einen "copy&üpaste" Fehler gemacht, Deine Angaben übernommen ohne zu prüfen ...
Kannst Du bitte nochmals probieren, ohne den . bei "./opt/fhem"?
der . bedeutet, gucke im jetzigen Dateisystem. Also:
dos2unix ./opt/fhem/shutdown_qnap.sh
whoami
ls -lha /opt/fhem/shutdown_qnap.sh
ls -lhad /opt/fhem
ok hab es gemacht...
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Jan 20 14:42:10 2016 from 192.
pi@Agent-Wohnzimmer:~ $ dos2unix ./opt/fhem/shutdown_qnap.sh
dos2unix: ./opt/fhem/shutdown_qnap.sh: No such file or directory
dos2unix: Skipping ./opt/fhem/shutdown_qnap.sh, not a regular file.
pi@Agent-Wohnzimmer:~ $ dos2unix /opt/fhem/shutdown_qnap.sh
dos2unix: Failed to change the owner and group of temporary output file /opt/fhem/d2utmpbya9N6: Operation not permitted
dos2unix: converting file /opt/fhem/shutdown_qnap.sh to Unix format ...
dos2unix: problems converting file /opt/fhem/shutdown_qnap.sh
pi@Agent-Wohnzimmer:~ $ whoami
pi
pi@Agent-Wohnzimmer:~ $ ls -lha /opt/fhem/shutdown_qnap.sh
-rwxrwxrwx 1 fhem pi 53 Jan 19 19:24 /opt/fhem/shutdown_qnap.sh
pi@Agent-Wohnzimmer:~ $ ls -lhad /opt/fhem
lrwxrwxrwx 1 fhem dialout 8 Jan 16 02:08 /opt/fhem -> fhem-5.7
pi@Agent-Wohnzimmer:~ $ /opt/fhem/shutdown_qnap.sh
-bash: /opt/fhem/shutdown_qnap.sh: /bin/bash^M: bad interpreter: No such file or directory
pi@Agent-Wohnzimmer:~ $ ./shutdown_qnap.sh
-bash: ./shutdown_qnap.sh: Permission denied
pi@Agent-Wohnzimmer:~ $
MIST ... das habe ich einen "." übersehen ...
dos2unix /opt/fhem/shutdown_qnap.sh
Du weist den Unterschied zwischen ./opt/fhem/shutdown_qnap.sh und /opt/fhem/shutdown_qnap.sh?
Danke Danke das war's!!! ;D ;D ;D
von der Konsole funktioniert es jetzt ;D
./shutdown_qnap.sh
weist du wie es aus fhem korrekt lauten muss...
{system("./shutdown_qnap.sh")}
liefert -1
aber ich werde Abends testen muss jetzt wieder Arbeiten :(
Gruß Markus
Ich würde mit direkten Pfaden arbeiten:
/opt/fhem/shutdown_qnap.sh
Aber OHNE den Punkt ".", den Du sonst immer angibst/verwendest!
Ich möchte mich nochmals bedanken!
Meine NAS fährt jetzt per fhem runter so wie sie soll ;D
mein skript hab ich geändert weil ich über putty immer das Passwort eingeben musste und das mit fhem nicht Funktionierte...
hier noch das skript, unter linux selber schreiben nicht kopieren! sonst geht es euch wie mir ;)
shutdown_qnap.sh
#!/bin/sh
username="$1"
hostname="$2"
password="$3"
sshpass -p "$password" ssh "$username"@"$hostname" /sbin/poweroff
exit 0
Aufruf aus FHEM:
{system("/opt/fhem/shutdown_qnap.sh username ip_adresse passwort")}
Gruß Markus
Mach Dich bitte mal schlau wegen ssh und Keyauthentifizierung. Es ist NICHT sinnvoll, ein ssh per Passwortübergabe zu starten. Das Passwort ist ziemlich einfach (für jeden User) aus der prozessliste rauszufinden.
Auch solltest Du nach den rechten Deiner Datei gucken. Sie sollte am besten nur fhem gehören und nur für fhem lese (und ausführ) rechte haben.
z.B.
https://www.debian-administration.org/article/530/SSH_with_authentication_key_instead_of_password (https://www.debian-administration.org/article/530/SSH_with_authentication_key_instead_of_password)
https://www.thomas-krenn.com/de/wiki/OpenSSH_Public_Key_Authentifizierung_unter_Ubuntu (https://www.thomas-krenn.com/de/wiki/OpenSSH_Public_Key_Authentifizierung_unter_Ubuntu)
Und noch diverse andere
Danke ich glaub da ist mir der Aufwand zu gross ich hab jetzt in der nas eingestelt das nur Geräte mit einer bestimmten ip Adresse darauf zugreifen dürfen und Zugriff aus dem Internet kommt natürlich auch nicht in frage...
Gruß Markus
Es ist eigentlich trivial ... eigentlich fast nur "copy&paste"
Du kannst es auch parallel zur jetzigen Lösung einrichten und, wenn es funktioniert, umschalten.
Deine Lösung ist ein Spezialfall, Key-Login ist der "Industriestandart".
Hallo zusammen,
bei mir möchte es leider nicht klappen. Folgendes habe ich gemacht (als User pi auf dem Raspberry):
sudo apt-get install sshpass
sudo touch /opt/fhem/FHEM/shutdownNAS.sh && sudo chown -R fhem /opt/fhem/ && sudo chmod +x /opt/fhem/FHEM/shutdownNAS.sh
sudo nano /opt/fhem/FHEM/shutdownNAS.sh
#!/bin/bash
username="$1"
hostname="$2"
password="$3"
sshpass -p "$password" ssh "$username"@"$hostname" "echo mem > /sys/power/state"
DATE=$(date +%Y.%m.%d)
TIME=$(date +%T)
echo $DATE $TIME "3: NAS in den Ruhemodus versetzen"
exit 0
Diese Script kann ich auf dem Raspberry mit
/opt/fhem/FHEM/shutdownNAS.sh USER HOST PWD
ausführen und das NAS geht in den Ruhemodus.
Auch über die FHEM Oberfläche lässt sich das Script ausführen, die Logausgabe erscheint im FHEM Log, doch das NAS geht nicht in den Ruhemodus.
{system('/opt/fhem/FHEM/shutdownNAS.sh USER HOST PWD)}
FHEM hat folglich die Rechte, das Script auszuführen, jedoch scheint der Befehl nicht am NAS anzukommen. Hat jemand eine Idee, woran das liegen könnte oder habe ich etwas übersehen?
Den Einwand von Wernieman finde ich gut, also habe ich diese Anleitung (https://www.debian-administration.org/article/530/SSH_with_authentication_key_instead_of_password) befolgt.
Für diesen Test habe ich ein zweites Script angelegt:
sudo touch /opt/fhem/FHEM/shutdownNAS2.sh && sudo chown -R fhem /opt/fhem/ && sudo chmod +x /opt/fhem/FHEM/shutdownNAS2.sh
sudo nano /opt/fhem/FHEM/shutdownNAS2.sh
#!/bin/bash
username="$1"
hostname="$2"
ssh "$username"@"$hostname" "echo mem > /sys/power/state"
DATE=$(date +%Y.%m.%d)
TIME=$(date +%T)
echo $DATE $TIME "3: QNAP TS-251 in den Ruhemodus versetzen"
exit 0
Mit dem User pi kann ich mich ohne Password auf dem NAS anmelden und das wie folgt ausführen:
/opt/fhem/FHEM/shutdownNAS2.sh USER HOST
Aus FHEM heraus funktioniert dies nicht:
{system('/opt/fhem/FHEM/shutdownNAS2.sh USER HOST')}
Host key verification failed.
Das macht für mich Sinn, da ich den Key für den pi User angelegt habe.
Wie kann ich den Key auch für den FHEM User anlegen?
Vermutlich kann ich mit dieser Info auch das obige Problem lösen.
Ich habe zwar den gesamten Thread gelesen, allerdings weiß ich nicht, wie ich mich mit su – fhem
anmelden kann, da ich das Passwort nicht kenne und bisher auch noch nie benötigt habe.
Grüße suelle
also ....
1. um ein Passwort zu ändern gibt es passwd. Als root kannst Du auch passwörter für andere user ändern.
sudo passwd fhem
Und .. typisch unix gibt es auch einen anderen weg um zu fhem zu werden .. über root
su - root
su - fhem
root darf zu jedem User wechseln, ohne Passwortabfrage. Ich mache dieses immer beim testen, da es mit Absicht bei einigen "Usern" kein Passwort und damit Einlogmöglichkeit gibt (Stichwort Sicherheit)
2. Bezüglich ssh-Key
a) Du kannst einfach das Komplette .ssh-Verzeichnis Deines Users pi ins home von user fhem kopieren und dann die Berechtigungen Anpassen
- Das Verzeichnis/Dateien muß dem User fhem gehören
- Nur der darf die Dateien lesen (dürfen)
b) Du machst für den user fhem einen neuen key. Ich würde dieses wählen, aber viele Wege führen nach Rom ..
jetzt solltest Du weiter kommen? oder brauchst Du noch einen "schups"?
(P.S. ich hoffe, Du verstehst meinen Lockeren Ton .. es ist Freitag!!! und dann eine Woche Urlaub!!!! *griiins*)
Vielen Dank, du hast mir sehr geholfen!
Mir war nicht bewusst, dass unter Raspbian für den User root kein Passwort hinterlegt wird. Nach der Anlage konnte ich mich als root anmelden. Das wechseln zum User fhem funktionierte nicht, allerdings konnte ich das Problem auch lösen: In der /etc/passwd ist hinterlegt, dass sich der User fhem nicht anmelden darf. Nachdem ich auch das geändert hatte, konnte ich mit dem User fhem einen ssh key erzeugen. Die von dir beschriebene Lösung 2a halte ich ebenfalls für falsch, deswegen 2b.
Nun läuft das Script und versetzt mein NAS wie gewünscht in den Ruhemodus.
Allerdings habe ich noch eine Verständnisfrage:
Du hast lapidar geschrieben, ich kann das Passwort für den User fhem ändern. Wird dieses von FHEM nicht benötigt? Ich wollte das Risiko nicht eingehen, FHEM dadurch lahmzulegen.
Vielen Dank und einen erholsamen Urlaub...meiner ist jetzt rum :(
Nein, fhem braucht es nicht. Der init-Prozess läut unter root und kann deshalb Problemlos ein Proggi unter einem anderen User starten.
Und wegen einloggen: hatte vergessen, das fhem im standard keine loginshell hat. Egal ob über root oder passwd muß dieses dafür gesetzt sein. Wenn Du sicherheit willst, anschließend zurücksetzen, auf /bin/false oder /bin/nologin o.Ä.
Ich habe hierzu nun eine Wiki Seite erstellt: http://www.fhemwiki.de/wiki/Qnap_NAS_Ruhemodus/herunterfahren
Warum installiert Du in der Anleitung sshpass?
sudo apt-get install sshpass
Ich war mir nicht mehr sicher, ob es tatsächlich benötigt wird, deshalb habe ich es mitaufgenommen.
Wenn du weißt, dass es nicht benötigt wird, kann es auch herausgenommen werden.
Das Programm wird verwendet, um sich per Passwort (automatisch böse) per ssh anzumelden. Da Du aber ssh-keys verwendest, ist dieses nicht nötig.
Was Du meinst ist "openssh-client", kenne aber kein Linux, welchen den nicht automatisch installiert hat.
Danke für die Erklärung, habe die Wiki Seite angepasst.