Synology 213 mit FHEM ausschalten

Begonnen von Damu, 11 Mai 2015, 17:51:07

Vorheriges Thema - Nächstes Thema

Damu

#75
Zitatop der User jetzt root, admin oder brotchen heißt, ist DIr doch eigentlich egal ... Hauptsache er kann das, was Du willst ....

Ist schon egal, muss mann aber zuerst wissen.

Damu

#76
Hab nochmals aufgeschrieben wie ich es gemacht habe:

Wenn in Fhem unter opt/fhem der ordner .ssh noch fehlt diesen mit PuTTY erstellen.
Zitatsudo mkdir -p /opt/fhem/.ssh
chmod 0700 /opt/fhem/.ssh
chown -R fhem /opt/fhem/.ssh/

Danach am Nuc auch über PuTTY einen SSH Key für Fhem erstellen

Zitatsudo -u fhem ssh-keygen -b 4096 -t rsa -f /opt/fhem/.ssh/id_rsa
https://wiki.ubuntuusers.de/SSH/



Die Rechte sollten eigentlich korrekt sein,sonst richtigstelllen:
Zitat

chmod 0644 /opt/fhem/.ssh/id_rsa
chmod 0644 /opt/fhem/.ssh/id_rsa.pub

Bei Synology (mit OS6.0)

Es scheint hier nur über den Benutzer root zu gehen.
Die Anmeldung über ssh ohne key geht nicht, da root kein Password kennt.
Habe zuerst alles auf dem User Admin gemacht und danach nach root kopiert.

Auf dem Synology Home Verzeichnis erstellen,  Rechte anpassen etc.
Über PuTTY Benutzer Admin:
Zitat
mkdir -p ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chown -R admin ~/.ssh
chmod 0600 ~/.ssh/authorized_keys

Denn Key vom Nuc mit PuTTY auf das Synology kopieren:
Zitatsudo -u fhem ssh-copy-id -i opt/fhem/.ssh/id_rsa.pub admin@DSmitOS6.0

Den Key auf Benutzer root kopieren.
Zuerst den Benutzer von admin auf root wechseln:
Danach Ordner erstellen und die Datei kopieren.
Zitatsudo -i
mkdir -p /root/.ssh
chmod 0700 /root/.ssh
cp /volume1/homes/admin/.ssh/authorized_keys ~/.ssh
chown -R root ~/.ssh
chmod 0600 ~/.ssh/authorized_keys

Danach SSH am Synology neu starten.
Am besten über Telnet oder Synology komplet neu starten.
Zitatsynoservicectl --restart sshd

Danach am Nuc mit PuTTY sich mit ssh am Synology anmelden.
Zitatssh root@ipDS
Beim ersten mal Bestätigen.
Danach das selbe über user fhem:
Zitatsudo -u fhem ssh root@ipDS
Hier auch einfach bestätigen.
Beim zweiten versuch sollte es ohne Password funktionieren.
Zurück auf den Nuc kommt man einfach mit:
Zitatexit

Der Befehl zum ausschalten in FHEM lautet:
Zitat{system ('ssh root@ipDS poweroff')}

FHEM gibt dann leider
Zitat-1
zurück
Vieleicht ist der Ausschaltbefehl besser in der 99_myUtils.pm aufgehoben.
Das DS meldet doch das es nun aus geht?

Beim Synology mit OS3.1, geht das direkt mit root:
Mit PuTTY auf Benutzer root anmelden.
Alle Ordner auf Benutzer root erstellen, Benutzerrechte anpassen.
Zitatchmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chown -R root ~/.ssh
chmod 0600 ~/.ssh/authorized_keys

Der Key kommt vom Nuc dann direckt auf Benutzer root, nicht zuers auf admin.
Zitatsudo -u fhem ssh-copy-id -i opt/fhem/.ssh/id_rsa.pub admin@DSmitOS6.0



Wernieman

Auf dem NUC hättest Du die authorized_keys nicht kopieren müssen. Dort steht drin, wer darf. Beim NUC willst Du aber raus und nicht rein.

Für die Doku: Zuerst solltest Du dafür sorgen, das die Verzeichnisse existieren:
mkdir -p /opt/fhem/.ssh
Da Du die Rechte sowieso anpasst, würde ich es sogar noch etwas härter machen:
chmod 0600 /opt/fhem/.ssh/id_rsa*

Allerdings ... eigentlich macht man es nicht so, das man ein key erstellt und es dem User reinkopiert, sondern man erstellt am besten den key als der User!
- 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

Damu

#78
Zitatmkdir -p /opt/fhem/.ssh
Komisch, bei mir war das schon da?
Danke.

ZitatAllerdings ... eigentlich macht man es nicht so, das man ein key erstellt und es dem User reinkopiert, sondern man erstellt am besten den key als der User!
Ich weis, aber ich möchte keinen USER FHEM erstellen. Ich meine User mit Login und Password
Möchte das es beim Umzug von FHEM auf einen anderen Server auch ohne Anpassung klappt.
Zitatsudo -u fhem ssh-keygen -t rsa -b 4096
oder so?
Zitatsudo -u fhem ssh-keygen -b 4096 -t rsa -f /opt/fhem/.ssh/id_rsa

Otto123

Zitat von: Damu am 08 Februar 2017, 09:49:55
Ich weis, aber ich möchte keinen USER FHEM erstellen.
Möchte das es beim Umzug von FHEM auf einen anderen Server auch ohne Anpassung klappt.oder so?
Den User fhem musst Du nicht erstellen, den gibt es ja. Es geht ja um das FHEM System nicht um das NAS System.
Beim Umzug von FHEM sicherst Du einfach /opt/fhem/.ssh mit! Ist im Standard backup nicht drin!
@Werner Oder geht das so nicht?

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

Damu

Danke Otto da muss ich schauen das .ssh auch mitkommt.

Wernieman

Otta: ja so geht es.

@Damu:
Wenn Du Dich zu einem neuen Server hin  verbindest, Du also ncoh keinen ssh-Kontackt hattest und er deshalb folgerichtig nichts in der known_host steht, must Du Dich sowieso einmalig als fhem User mit dem Server verbinden um alle Meldungen mit (y) wegzubekommen. Sonst funzt das Automatische einloggen nicht.

Du must auf einem neuen System, wie schon mal geschrieben, dem User fhem kein Passwort geben. Er muß "nur" eine shell haben. Also in der passwd nach der Zeile suchen:
fhem:x:1000:1000::/opt/fhem:/bin/bash
Wenn dort am Ende anstatt "/bin/bash" etwas anderes steht, wie z.>B. /bin/false" oder "/bin/nologin", dur4ch "/bin/bash" ersetzen. Allerdings ist für die Fehlersuche es immer interessant, wenn man "schnell mal zum User fhem werden kann". Ohne passwort muß man "nur" einen Umweg über root machen:
sudo su - fhem
- 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

Damu

#82
Hallo

Danke für die Antwort.
Zitatsudo su - fhem

Hab ich versucht.
Klappt aber bei mir nicht.damu@fhem:~$ sudo su - fhem
[sudo] password for damu:
damu@fhem:~$


Ich bleib so bei damu@fhem, es sollte auf fhem@fhem gehen.
Aber mit:
Zitatsudo su -m fhem
und
Zitatsudo su -p fhem
geht.
damu@fhem:~$ sudo su -m fhem
fhem@fhem:~$ exit
exit
damu@fhem:~$ sudo su -p fhem
fhem@fhem:~$ exit
exit
damu@fhem:~$

Unterschied????


ZitatWenn Du Dich zu einem neuen Server hin  verbindest, Du also ncoh keinen ssh-Kontackt hattest und er deshalb folgerichtig nichts in der known_host steht, must Du Dich sowieso einmalig als fhem User mit dem Server verbinden um alle Meldungen mit (y) wegzubekommen. Sonst funzt das Automatische einloggen nicht.

Hab die erste Anmeldung, für die Bestädigung, so gemacht.

Zitatsudo -u fhem ssh root@ipDS

Hat so geklappt.



Jetzt brauch ich noch eine Lösung beim Backup.

Wernieman

O.K. passiert wenn man nicht testet, so sollte es (wieder nicht getestet) gehen
sudo su -l fhem
Wichtig ist das "-" bzw. "-l", da nur dann auch die Umgebung von fhem geladen wird. Sonst testest Du nicht ...
- 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

Otto123

Hi Damu,

Bedeutung su -> https://linux.die.net/man/1/su

Aber ich habe an der Stelle einfach su fhem gemacht, ohne sudo davor.

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