Hauptmenü

FHEM Update schlägt fehl

Begonnen von Holger86, 18 Dezember 2019, 09:08:10

Vorheriges Thema - Nächstes Thema

Holger86

Ich wollte heute mal wieder ein Update für meinen FHEM-Server einspielen. Er läuft auf einem Raspberry Pi 3b mit Raspbian Jessie.
Statt eines Updates erhalte ich die Fehlermeldung:
https://fhem.de/fhemupdate/controls_fhem.txt: Can't connect(2) to https://fhem.de:443:  SSL connect attempt failed error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Ich habe als wenig erfahrener Linux-Anwender keine Ahnung, wo das Problem liegt. Ich habe bereits im Web gesucht und kann ein paar von mir gemachte Tests hier wiedergeben.
Ein dist-upgrade des Betriebssystems hat funktioniert aber keine Lösung gebracht.
Ein Verbindungsversuch mit OpenSSL openssl s_client -connect fhem.de:443 hat funktioniert. Die installierte Version von OpenSSL ist "OpenSSL 1.0.1t  3 May 2016".
Ein Verbindungsversuch mit curl curl -v https://fhem.de/fhemupdate/ klappt auch. Bei beiden Tests wird aber TLS1.2 statt SSLv3 (s. Fehlermeldung) genutzt.
Eine globale Einstellung für SSL habe ich in der Config nicht gesetzt.

Ich hoffe nun, Ihr könnt mir helfen. Bei Fragen oder weiteren Tests stehe ich gern zur Verfügung.

Otto123

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

isy

Moin auch von mir,
ich habe soeben die Änderung durchgeführt, die Rudi vorgeschlagen hat.

Ein weiteres Workaround ist in FHEM/98_update.pm die Zeile 242
Code: [Auswählen]
  $src =~ s'^http://fhem\.de'https://fhem.de' if($upd_hasSSL);
auszukomentieren oder zu entfernen.

Vorgehen:
- FHEM runterfahren
- Login über Putty o.ä.

Zum richtigen Directory wechseln:
cd /opt/fhem/FHEM

Die originale Datei 98_update.pm kopieren
sudo cp 98_update.pm 98_update.pm.org

Mit nano die Datei editieren
sudo nano 98_update.pm

Mit "strg-w" nach dem String $src =~ s'^http://fhem\.de'https://fhem.de' if($upd_hasSSL);
suchen

Vorne ein # reinschreiben (= Kommentar)
#  $src =~ s'^http://fhem\.de'https://fhem.de' if($upd_hasSSL);

Datei speichern.
FHEM neu starten, Update starten. fheminfo geht dann aber immer noch nicht.

Der Update geht dann 1 mal, da eine neue 98_update.pm erzeugt wird.
Das kann man verhindern, in dem man diese Datei vom Update ausschliesst:
attr global exclude_from_update 98_update.pm

Alles in allem keine gute Lösung, nur ein Workaround.

Besser auf jeden Fall ist es, sich recht bald um einen Systemupdate auf Buster (beim Raspberry Pi als Server) bzw. um ein aktuelles Perl zu kümmern.

Grüße, Helmut


Ein Weg wird erst zu einem Weg, wenn man ihn geht

isy

Nach Re-Aktivierung der TLS 1.0 und 1.1 Protokolle ist diese Anleitung hinfällig.
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Holger86

Moin,

als erstes vielen Dank an Otto für die schnelle Hilfe mit dem passenden Link. Auch Dank an Helmut, der die Lösung sehr detailliert aufgeschrieben hat. Es hat so funktioniert und ich konnte gestern mein Update durchführen.
Da unter dem Link von Otto kontrovers über das Abschalten der älteren TLS-Protokolle diskutiert wurde, wurden die Protokolle lt. dl4fb wieder aktiviert. Somit hat sich das Problem erst einmal erledigt. Ein Systemupdate auf Buster wie von Helmut vorgeschlagen wäre natürlich die beste Lösung. Ich habe aber hier auch schon von diversen Problemen unter diesem noch recht neuen OS gelesen.

Eine Idee von mir an die Admins dieses Forums: Eventuell wäre unter FHEM eine neue Rubrik "Systemprobleme" interessant, wo es nur um Probleme mit dem OS, Pearl und Server-Hardware geht.

Beta-User

Die Programmiersprache heißt Perl, und warum ist das vorhandene Board nicht geeignet?
Server - Linux: https://forum.fhem.de/index.php/board,33.0.html
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors