Mosquitto

De knowledge
Aller à la navigation Aller à la recherche

Installation de Mosquitto sur un raspberry PI (ça doit marcher pour les autres Linux)

Installation

La base

L'installation de base est toujours aussi simple que d'habitude

sudo apt install mosquitto
sudo apt-get install mosquitto-clients # pour les tests

Et on valide l'état du broker:

sudo systemctl status mosquitto
● mosquitto.service - Mosquitto MQTT Broker
     Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; preset: enabled)
     Active: active (running) since Thu 2025-02-13 23:10:48 CET; 11min ago
       Docs: man:mosquitto.conf(5)
             man:mosquitto(8)
    Process: 46126 ExecStartPre=/bin/mkdir -m 740 -p /var/log/mosquitto (code=exited, status=0/SUCCESS)
    Process: 46127 ExecStartPre=/bin/chown mosquitto /var/log/mosquitto (code=exited, status=0/SUCCESS)
    Process: 46128 ExecStartPre=/bin/mkdir -m 740 -p /run/mosquitto (code=exited, status=0/SUCCESS)
    Process: 46129 ExecStartPre=/bin/chown mosquitto /run/mosquitto (code=exited, status=0/SUCCESS)
   Main PID: 46130 (mosquitto)
      Tasks: 1 (limit: 3922)
        CPU: 209ms
     CGroup: /system.slice/mosquitto.service
             └─46130 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

Feb 13 23:10:48 main-host systemd[1]: Starting mosquitto.service - Mosquitto MQTT Broker...
Feb 13 23:10:48 main-host systemd[1]: Started mosquitto.service - Mosquitto MQTT Broker.

On voit que... ça tourne et que la config est dans /etc/mosquitto/mosquitto.conf.

Les tests

Dans une première console on entre la commande :

mosquitto_sub -v -t "#"

Et dans une seconde:

mosquitto_pub -t "feed/test" -m "1739485903880"

On vérifie que dans la première console on reçoive :

feed/test 1739485903880

Tout fonctionne!

Mais.... tout est en clair et n'importe qui peut publier et écouter!

Gestion des utilisateurs

Le fichier des utilisateurs

C'est un peu le /etc/passwd de mosquitto.

Localisation

On peut le placer où on veut mais, personnellement, qu'il a toute sa place dans /etc/mosquitto.

Modification

Création
sudo mosquitto_passwd -c /etc/mosquitto/users operator

On donne le mot de passe une fois et une seconde pour valider. Le fichier généré ressemble à:

operator:$5$101$A+dU0mGuSJSmHZ7y$hFDAgsE8OLjz6wMDKfs8vkARxbCKLtuMBKRFt4DqukJZq514ha8H1y91vO0hngdZdrJ/ngegCjPlJpcjezWH3A==
Ajout

On crée un utilisateur "sensor"

sudo mosquitto_passwd /etc/mosquitto/users sensor
Suppression

On supprime le même utilisateur

sudo mosquitto_passwd -D /etc/mosquitto/users sensor