Probleme mit "telnet"/SSL

Begonnen von Wernieman, 23 Dezember 2017, 22:13:36

Vorheriges Thema - Nächstes Thema

Wernieman

Hallo,

wollte mal mit telnet und ssl rumspielen, dabei ist mir reproduizierbar folgendes aufgefallen.

1 definiere einen 2. telnet:
Zitatdefine telnetSSL telnet 7073 global
jetzt kann ich meinen bishereigen telnet und "den neuen" unter Port 7072/7073 testen und es funktioniert
echo -en "<passwort>\nlist\nquit\n" | /bin/nc -w5 localhost 7073
2. Habe ich für den 2. SSL definiert:
Zitatattr telnetSSL SSL
Nun habe ich ausversehen wieder nc genommen (kann eigentlich mit SSL nicht funzen), aber mein FHEM stürzt mir ab, ist nicht mehr erreichbar (Prozesse laufen aber noch). Weder auf den neuen, noch auf den alten oder per WEB.

Liegt es an meiner Umgebung oder passiert dieses auch bei Euch?

Ich musste alle FHEM-Instanzen (ps aux | grep [f]hem) mit kill -9 abschiesen, ein normales kill reichte nicht. Dann erst konnte ich fhem wieder starten und es lief wieder.

Eigentlich dürfte FHEM doch damit nicht abstürzen?

P.S. ich hoffe ich habe es im richtigen Bereich gepostet ....
- 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

rudolfkoenig

Ich kann das Problem nicht reproduzieren. Hast du ein certs Verzeichnis angelegt?
Kannst du das Problem mit "perl fhem.pl -d fhem.cfg" reproduzieren, und hier anhaengen, was in der Konsole zu sehen ist?

Wernieman

Der Hinweis: "certs Verzeichnis" ist gut, das hatte ich noch nicht.

Was mich nur Wunderte, darf FHEM dann überhaupt stoppen? So das "nur noch" ein "kill 9" hilft?

Das Log ist leer, starte schon immer fhem mit einer Ausgabe in ein Logfile.
- 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

rudolfkoenig

ZitatWas mich nur Wunderte, darf FHEM dann überhaupt stoppen?
Nein, bei mir kommt die Meldung
telnet SSL/HTTPS error: No such file or directory Failed to open Private Key error:02001002:system library:fopen:No such file or directory (peer: 127.0.0.1)
und FHEM laeuft froehlich weiter. Abschiessen mit SIGTERM funktioniert auch.

ZitatDas Log ist leer, starte schon immer fhem mit einer Ausgabe in ein Logfile.
Mag sein, ich habe aber nach dem Output von "perl fhem.pl -d fhem.cfg" in der Konsole gefragt :)

Wernieman

O.K. .,. habe das "-d" übersehen. Momentan wird bei mir FHEM immer gestartet mit:
/usr/bin/perl fhem.pl fhem.cfg >>/var/log/fhem/log 2>&1


Werde es aber erst in 1-2 Tagen testen können, bis dahin "ruft die Familie".

Auf jedem Falle:
1. Danke für Dein Interesse
2. Schönen ersten Weihnachtstag!
- 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

Wernieman

Hatte etwas Zeit:
2017.12.26 17:12:21 5: PRESENCE (Anja_Rechner) - blocking scan result: Anja_Rechner|0|present
2017.12.26 17:12:21 5: Starting notify loop for Anja_Rechner, 2 event(s), first is present
2017.12.26 17:12:21 5: End notify loop for Anja_Rechner
2017.12.26 17:12:21 4: PRESENCE (Anja_Rechner) - rescheduling next check in 30 seconds
SSL_cert_file ./certs/server-cert.pem does not exist at /usr/share/perl5/IO/Socket/SSL.pm line 2155.


Liegt also am Fehlenden Zertifikat .. nur s.o. ist es richtig, das FHEM sich dann komplett verabschiedet? Bei mir lanet er anschließend in der Konsole. Alle ngefkorten FHEM laufen noch und müssen, s.o. mit "kill 9" abgeschossen werden :o(
- 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

rudolfkoenig

Mit perl 5.16 hat es sich nicht verabschiedet, mit perl 5.24/5.26 schon.
Habs aber jetzt gefixt. Welche Perl Version verwendest du?

Eine socat Verbindung scheint mit 5.24/5.26 nur noch mit "attr telnetPort  sslVersion SSLv23:!SSLv3:!SSLv2" zu funktionieren, mit perl 5.16 war das nicht noetig, das FHEM default ist TLSv12:!SSLv3. Will sagen, ich verstehe die sslVersion Variable nicht, ich dachte es regelt welche Client-Protokolle zugelassen sind. Ich habe aber in allen Faellen den gleichen Client verwendet.

Wernieman

Kann ich aber definitiv erst im Januar testen.

Habe aktuell auf dem Server: v5.22.1
Ist ein Ubuntu 16.04.3
- 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

Wernieman

#8
Konnte heute Testen:
Es stürzt auf jedem Falle nicht mehr ab!

Edit:
Funktioniert übrigens wie gewünscht:
echo -en "<password>\nlist\nquit\n" | openssl s_client -connect localhost:7073 -quiet

Allerdings funktionieren die Beispiele mit socat und ncat nicht bei mir, nur das obige mit openssl. Habe aber auch keinen grund dafür (bis jetzt) rausfinden können

Edit2:
ncat will über V6, was localhost nicht will, also:
echo -en "<password>\nlist\nquit\n" | ncat -4 --ssl localhost 7073
- 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