Raspberry Pi & HTTPS: Unterschied zwischen den Versionen

Aus FHEMWiki
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 13: Zeile 13:
sudo mkdir certs</nowiki>
sudo mkdir certs</nowiki>


In dieses Verzeichnis kommen zwei Dateien die mithilfe von OpenSSL erstellt werden: server-key.pem und server-cert.pem. Unter Linux und MacOSX kommen wir über das Terminal an die Dateien.
In dieses Verzeichnis kommen zwei Dateien die mithilfe von OpenSSL erstellt werden: server-key.pem und server-cert.pem. Dazu wechselt man in das neu erstellte Verzeichnis. Auf der Konsole ist nun folgendes auszuführen:


Im Terminal und Linux/OSX geht dies mit folgendem Befehl:
<nowiki>cd /opt/fhem/certs
openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem</nowiki>


<nowiki>openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem</nowiki>
Damit das SSL-Modul die erzeugten Dateien verwenden kann, muss das certs-Verzeichnis Ausführrechte haben (es ist auch kein Fehler, wenn die Dateien selbst nur die nötigsten Rechte haben). Die Berechtigungen werden wie folgt gesetzt
Ihr könnt mit dem Terminal auch direkt in das modpath und mit mkdir certs und cd certs das Verzeichnis erstellen. Oder einfach die Dateien irgendwo erstellen und mit dem Finder oder Windows Explorer dort hin kopieren.


Damit das SSL-Modul die erzeugten Dateien verwenden kann, muss das certs-Verzeichnis Ausführrechte haben. Es ist auch kein Fehler, wenn die Dateien selbst nur die nötigsten Rechte haben.
  <nowiki>sudo chmod 711 /opt/fhem/certs
 
sudo chmod 644 /opt/fhem/certs/*.pem</nowiki>
  <nowiki>cd /opt/fhem
chmod 711 certs
cd certs
chmod 644 *.pem</nowiki>


Anschließend in FHEM mit dem Befehl
Anschließend in FHEM mit dem Befehl

Version vom 17. Juli 2015, 06:34 Uhr

Damit das Kennwort verschlüsselt übertragen wird, ist eine HTTPS Verbindung wichtig.

Die folgenden Schritte sind direkt auf dem Raspberry oder über einen Terminal auszuführen. Zunächst müssen folgende Pakete nachinstalliert werden:

sudo apt-get update
sudo apt-get install perl-io-socket-ssl
sudo apt-get install libio-socket-ssl-perl

Anschließend muss noch im fhem-Verzeichnis (befindet sich in der Regel unter /opt) das Verzeichnis "certs" für die Zertifikate erstellt werden. Dies geht wie folgt:

cd /opt/fhem
sudo mkdir certs

In dieses Verzeichnis kommen zwei Dateien die mithilfe von OpenSSL erstellt werden: server-key.pem und server-cert.pem. Dazu wechselt man in das neu erstellte Verzeichnis. Auf der Konsole ist nun folgendes auszuführen:

cd /opt/fhem/certs
openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem

Damit das SSL-Modul die erzeugten Dateien verwenden kann, muss das certs-Verzeichnis Ausführrechte haben (es ist auch kein Fehler, wenn die Dateien selbst nur die nötigsten Rechte haben). Die Berechtigungen werden wie folgt gesetzt

sudo chmod 711 /opt/fhem/certs
sudo chmod 644 /opt/fhem/certs/*.pem

Anschließend in FHEM mit dem Befehl

attr WEB HTTPS

Für das Smartphone Interface entsprechend

attr WEBphone HTTPS

HTTPS aktivieren, nach einem Neustart erfolgt der Zugriff per HTTPS über https://192.168.n.n:8083/fhem . Es ist wichtig die Adresse mit https:// aufzurufen, da es keine automatische Weiterleitung von http auf https existiert.