RaspberryPi HTTPS perl-io-socket-ssl

Begonnen von Jens2014, 13 Oktober 2014, 17:49:01

Vorheriges Thema - Nächstes Thema

Jens2014

Hallo,
ich versuche auf meinem Raspberry nach dieser Anleitung: http://www.fhemwiki.de/wiki/Raspberry_Pi_%26_HTTPS den HTTPS Zugang einzurichten. Leider gibt es bei mir immer den Fehler FHEMWEB SSL/HTTPS error: No such file or directory.
Ich habe das Verzeichnis certs im unter fhem liegen, wie beschrieben.
Was mich allerdings irritiert ist, dass ich das perl-io Package nicht installieren kann: Unable to locate package perl-io-socket-ssl
Außerdem habe ich in irgendeinem Google Eintrag etwas von einem tcpUtil.pm gelesen. Das gibt es aber in der aktuellen Version nicht.

Hat jemand einen Tip für mich, was ich tun muss?

Danke
Jens

franky08

Das Paket heißt libio-socket-ssl-perl

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

franky08

Ne Rückmeldung ob es geklappt hat ?

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Jens2014

Hallo Frank,
sorry für meine späte Antwort. Ich war im Stress.
Ich habe die Bibliothek noch einmal kontrolliert. Sie war installiert.
Ich bekomme trotzdem noch immer den Fehler FHEMWEB SSL/HTTPS error: No such file or directory
Dabei habe ich alles korrekt vorliegen, zumindest meines Wissens nach. Es wäre ja schön, wenn die Fehlermeldung ausgeben würde, wo er etwas nicht findet, bzw. erwartet.
Das Verzeichnis sieht wie folgt aus:
-rwxrwxrwx  1 fhem root 1363 Okt 13 17:26 server-cert.pem
-rwxrwxrwx  1 fhem root 1704 Okt 13 17:26 server-key.pem
pi@raspberrypi /opt/fhem/certs $

Was sollte daran falsch sein?

Gruß Jens

betateilchen

Zitat von: Jens2014 am 22 Oktober 2014, 09:56:03
Was sollte daran falsch sein?

Es fängt schon damit an, dass die Rechte auf die zwei Dateien falsch gesetzt sind. Ein privater Schlüssel darf nicht beschreibbar sein und schon gar nicht von jedem x-beliebigen User!

chmod 644 *.pem
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Jens2014

Die Rechte hatte ich irgendwann mal vor lauter Verzweiflung so gesetzt. Denn auch mit der richtigen Einstellung klappt es nicht.
Ich habe TcpServerUtils.pm mal etwas bearbeitet und lasse mir den modpath ausgeben. Der steht auf . Also habe ich das certs Verzeichnis unter das FHEM Verzeichnis kopiert, da ich annehme dass modpath für Modulpfad steht und der ist ja nun einmal /opt/fhem/FHEM. Hat aber auch nichts genützt, außer das die Fehlermeldung nur noch 3 Mal und nicht 6 Mal kommt. Dann habe ich noch einen Versuch gemacht und den Pfad komplett eingetragen. Auch das hat nicht funktioniert. Jetzt weiß ich nicht mehr weiter.

betateilchen

Mit Deinem planlosen Rumgewurschtel machst Du alles nur noch schlimmer und machst es anderen Leuten unmöglich, Dir wirklich weiterzuhelfen.

Tatsache ist: Die https-Verbindungen funktionieren einwandfrei und völlig simpel, wenn man aktuelle Modulversionen in seinem fhem verwendet und sich an die Anleitung im Wiki hält.

Ich schlage vor, Du stellst erstmal einen klar definierten Zustand in Deinem fhem wieder her (mit unverbastelten Moduldateien und Konfigurationswerten) und meldest Dich dann hier nochmal.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Jens2014

Was heißt hier planlos. Ich habe versucht mehr Informationen zu bekommen und an die Fehlerursache herauszufinden. Deshalb hatte ich kurzzeitig den Logeintrag geändert, um zu schauen auf welchen Pfad er zugreift. Der scheint auf jeden Fall korrekt zu sein. Ergo ist die Fehlermeldung falsch.
Wenn der update Befehl im fhem korrekt funktioniert, wovon ich ausgehe, habe ich die aktuellste Software installiert und sogar eben noch einmal das update durchgeführt.
Ferner habe ich meine Config noch einmal geprüft, sie ist korrekt und entspricht dem Standard, bzw. den Werten wie sie in einer jungfräulichen Datei stehen plus natürlich den Infos zu meinen Geräten.
Hier die Werte.
Zum Einschalten von HTTPS entferne ich nur das # von WEB.


attr global userattr devStateIcon devStateStyle fm_type icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\
\
WEB,WEBphone,WEBtablet has no basicAuth attribute.\
\
Restart FHEM for a new check if the problem is fixed,\
or set the global attribute motd to none to supress this message.\

attr global sendStatistics onUpdate
attr global statefile ./log/fhem.save
attr global uniqueID ./FHEM/FhemUtils/uniqueID
attr global updateInBackground 1
attr global verbose 3

# define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
# attr WEB basicAuth
# attr WEB HTTPS

define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen
# attr WEBphone HTTPS
# attr WEBphone basicAuth

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad
# attr WEBtablet HTTPS
# attr WEBtablet basicAuth

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate autosave 1
attr autocreate filelog ./log/%NAME-%Y.log
attr autocreate weblink 1
attr autocreate weblink_room Plots

define eventTypes eventTypes ./log/eventTypes.txt

gero

Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

Jens2014

Oja, das kann gut sein. Ich werde das morgen testen :)

Jens2014

So, ich habe das Thema gelöst.
1. SSL mäßig war alles richtig.
2. Der Hinweis mit Sendmail war sehr gut, auch wenn ich am Ende nicht weiß, ob dies auch ein Grund gewesen wäre (siehe 3.). Hier noch einmal die Zusammenfassung des Bugfixes:
    in der Datei /usr/bin/sendEmail
    die Zeile 1907 ändern :
    von
       if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {
    nach
       if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv23:!SSLv2')) {
3. Der Fehler war die Einstellung des ModPath, der bei mir relativ war
    attr global modpath .
    Damit es aber funktioniert, muss der ModPath auf den richtigen Pfad absolut stehen, im Fall meines RaspberryPi auf
    attr global modpath /opt/fhem

Dann klappt es auch mit HTTPS.

Übrigens: Der Umstieg von der Fritzbox auf den Raspberry, den ich vor ein paar Wochen durchgeführt habe, war schnell und einfach umzusetzen. Ich konnte die fhem.cfg 1:1 übernehmen, so dass das System praktisch sofort lief. Nur der ModPath sollte geändert werden, wie sich jetzt herausgestellt hat.
:)

foxmulder

Hallo zusammen,

ich hab irgendwie noch Probleme SSL bei FHEM zum Laufen zu bekommen. :-/
Die Einrichtung hab ich anhand von diversen HowTos gemacht...ist ja nicht kompliziert: http://mkleine.de/blog/2014/01/19/raspberry-pi-zugriff-auf-fhem-per-https-sichern/

Aber ich komme nicht via HTTPs auf das Webinterface von FHEM. In den Logs steht beim Aufruf dann "2015.03.31 17:32:52 1: FHEMWEB SSL/HTTPS error: No such file or directory"

Ich habe FHEM auf einem Raspberry laufen.
Unter " /opt/fhem " ist der Ordner mit den Zertifikaten angelegt:
drwx--x--x  2 fhem root      4096 Mar 31 17:30 certs

pi@raspberrypi /opt/fhem $ sudo ls -l ./certs/
total 8
-rw-r--r-- 1 root root 1367 Mar 31 17:30 server-cert.pem
-rw-r--r-- 1 root root 1704 Mar 31 17:30 server-key.pem

In der "fhem.cfg" hab ich die entsprechenden Settings auch vorgenommen:

attr global modpath /opt/fhem

und

define WEB FHEMWEB 8083 global
attr WEB HTTPS
attr WEB basicAuth ZmhlbWZveDpIb21lNFN3RWV0WSE=
attr WEB hiddenroom DashboardRoom
attr WEB room Settings
attr WEB stylesheetPrefix dark


Aber nach einem Neustart von FHEM wird im Browser nur ein Fehler ausgegeben das die Verbindung nicht möglich ist! Und wie oben geschrieben der Fehler im FHEM Log angelegt. :-/

Auch die Bugfixes für SendEMail /IO::Socket habe ich versucht...leider mit gleichem Ergebnis. :-/


Hat noch jemand einen Tipp für mich???


Vielen Dank und viele Grüße
Fox

Jens2014

Hallo Fox,
versuche es mal mit einer 1 hinter dem HTTPS.
Bei mir sehen die Einträge alle so aus:
attr WEB HTTPS 1

Jens

foxmulder

Hey,

hatte es dann noch irgendwie hinbekommen... Glaub hatte ein update von fhem gemacht... Danach hatte es geklappt.

Lg und danke
Fox