Hallo zusammen,
ich arbeite aktuell daran, eine MQTT-Verbindung zu verschlüsseln.
Mein Broker läuft auf einem Raspberry Pi 3 Model B+, der über ein Ethernetkabel mit den Clients kommuniziert zu denen ein Arduino und probehalber mein Laptop zählt.
Als Betriebssystem läuft gerade Linux 11 und ich habe glaube ich kein rapi-update ausgeführt.
Unverschlüsselt hat die komplette Kommunikation bereits funktioniert, genauso wie mit einer Passwortabfrage.
Zum erstellen der Zertifikate und allem was für die verschlüsselte Verbindung dazugehört bin ich der folgenden Anleitung gefolgt:
https://plantprogrammer.de/mqtt-auf-dem-r…quitto-part-ii/
Dabei habe ich aber die Schritte "Client Zertifikate" bisher übersprungen, weil das ja scheinbar fürs erste optional ist.
Auf YouTube und Co. habe ich auch kein anderes Vorgehen finden können, außer dass die Zertifikate nicht selbst erstellt wurden.
In dem Verzeichnis /etc/mosquitto/ca_certificates befinden sich die Dateien ca.crt, ca.key und ca.srl.
In dem Verzeichnis /etc/mosquitto/certs liegen die Dateien mosquitto.crt, mosquitto.csr und mosquitto.key
In der mosquitto.conf Datei habe ich folgende Zeilen ergänzt, sodass die Datei jetzt gerade so aussieht:
pid_file /run/mosquitto/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto
log_dest file /var/log/mosquitto/mosquitto.log
listener 8883
cafile /etc/mosquitto/ca_certificates/ca.crt
certfile /etc/mosquitto/certs/mosquitto.crt
keyfile /etc/mosquitto/certs/mosquitto.key
require_certificate false #dadurch sollte ich fürs erste keine Client Zertifikate brauchen
listener 1883
allow_anonymous false
password_file /etc/mosquitto/conf.d/010-access-list
Alles anzeigen
Der Teil ab listener 1883 gehört noch zu den ersten unverschlüsselten Versuchen. Es sollte doch kein Problem sein, wenn der Teil weiterhin in der conf-Datei stehen bleibt oder?
Nach der Änderung habe ich den Dienst beendet und wollte ihn anschließend wieder starten. Das habe ich mit den folgenden Befehlen probiert.
systemctl stop mosquitto
systemctl start mosquitto
Der Start funktioniert aber nicht und meldet nur "Job for mosquitto.service failed because the control process exited with error code."
Was mosquitto.log ausgibt seht ihr in diesem Bild:
Scheinbar stimmt irgendwas mit meinem key-file nicht, aber ich komme wirklich nicht darauf, was das Problem ist. Vielleicht weiß jemand hier weiter?
Unter journalctl -xe steht nur "mosquitto.service: Start request repeated too quickly"
Eine weitere Vermutung habe ich noch. Den Raspberry Pi habe ich von einem Kollegen bekommen, da es sich hier um ein Versuchsprojekt in der Arbeit handelt. Allerdings habe ich nicht das passende Netzteil dazu. Könnte das ebenfalls einen Einfluss haben?
Ich hoffe die Infos reichen so fürs Erste. Vielen Dank für Eure Hilfe!