Seite 1 von 3

Quick How-To: username/password für mosquitto MQTT broker

Verfasst: Mi Mär 23, 2022 5:07 pm
von skywalker007
Hier ein schnelles howto für alle die einen eigenen mosquitto 1.6.x broker mit Authentisierung ausstatten wollen.
Als Basis dient der wiki Artikel zur Installation von mosquitto 1.6.

Als erstes müssen wir sicherstellen das die Konfiguration persistent ist und nicht beim Container Update verloren geht.
Dazu bitte im Portainer unter "Volumes" ein neues Volume anlegen (z.B. mosquitto_config).

Als nächsten Schritt gehen wir im Portainer zu unserem existierenden mosquitto Container und wählen:

Bild

Dann navigieren wir zu Advanced Settings und
  • Klicken auf Volumes
  • Klicken auf "map additional volume"
  • Mappen das neu erzeugte Volume auf "/mosquitto/config"
Bild

Den Container dann neu deployen und den alten dabei löschen lassen.

Als nächstes eine Shell im Container öffnen.
Achtung, es muss "/bin/sh" ausgewählt werden da der Container keine bash shell enthält.
Als nächstes muss ein username/password Paar erzeugt werden (in diesem Beispiel verwende ich den User "twsmqtt"):

Code: Alles auswählen

mosquitto_passwd -c /mosquitto/config/mosq_pwd twsmqtt

Das Passwortfile muss noch in der Config verlinkt werden.
Dazu mittels

Code: Alles auswählen

vi /mosquitto/config/mosquitto.conf
folgende Einträge am Ende des files einfügen:

Code: Alles auswählen

password_file /mosquitto/config/mosq_pwd
allow_anonymous false
Speichern und schliessen. Anschliessend Container neu starten.
Bitte nicht vergessen in der MQTT subsystem Konfiguration Benutzer und Passwort zu ergänzen.

Re: Quick How-To: username/password für mosquitto MQTT broker

Verfasst: Mi Mär 23, 2022 6:04 pm
von StefanW
Hallo Till,

herzlich willkommen hier im Forum.

Wow, neuen Timberwolf Server gerade erst frisch ausgepackt (gestern oder vorgestern vermute ich) und gleich schon so einen Beitrag, sehr gut, wir freuen uns auf Dich.

Womöglich magst Dich noch separat vorstellen, weil wir lesen sicher öfters von Dir. Gerne auch Deine bisherige Loxone Erfahrung erwähnen und was die Beweggründe mit dem TWS sind (ist für viele interessant).

lg

Stefan

Bitte noch ein paar Infos in den Footer, wie hier in den Forenregeln beschrieben, könnte im Supportfall hilfreich sein. Vielen Dank.

Re: Quick How-To: username/password für mosquitto MQTT broker

Verfasst: Mi Mär 23, 2022 6:33 pm
von skywalker007
Hallo Stefan,
ja, danke für den Hint. Schfreibe gern bei Gelegenheit noch eine Vorstellung.
Das mit dem How-to hat sich einfach ergeben da ich die Installation meines brokers gleich dokumentieren wollte.
Weiteres wird sich sicher ergeben.

lg, Till

Re: Quick How-To: username/password für mosquitto MQTT broker

Verfasst: Do Feb 01, 2024 6:30 pm
von SchlaubySchlu
Hallo Till,

kannst du mir als "dummy" erklären wie ich auf den Docker komme, bzw. eine Shell im Container öffne?
Ich würde das MQTT gerne mit einem Passwort versehen ;-)

Vielen Dank!

Gruß
Ralf

Re: Quick How-To: username/password für mosquitto MQTT broker

Verfasst: Do Feb 01, 2024 6:48 pm
von jockele
in Portainer in der Container-Übersicht gibt es eine Spalte "quick actions", das 3. Symbol von links öffnet das Menü für die Console,

Grüße Jochen

Re: Quick How-To: username/password für mosquitto MQTT broker

Verfasst: Fr Feb 02, 2024 9:01 pm
von SchlaubySchlu
Hallo Jochen,

habs gefunden, danke für den Tipp!

Gruß
Ralf

Re: Quick How-To: username/password für mosquitto MQTT broker

Verfasst: Do Aug 15, 2024 12:40 pm
von speckenbuettel
Hallo Till,

vielen Dank für das Quick How-To! Damit habe ich mich ebenfalls an Benutzernamen und Passwörter für Mosquitto herangetraut.

Und gleich noch eine Ergänzung für die Benutzer, die nicht so gerne auf der Konsole in Portainer arbeiten (ich bin kein großer Linux-User und finde den VI-Editor arg gewöhungsbedürftig :snooty: ):

Wenn man, wie in diesem Beitrag viewtopic.php?p=39540#p39540 beschrieben, einen SSH-Container am Laufen hat, dann kann man die Konfiguration von Mosquitto auch unter Windows wie folgt durchführen:

1. Zunächst das Volume für "mosquitto_config" im Mosquitto-Container erzeugen und mappen.

2. Dann das Volume im SSH-Container mappen.

3. Unter Windows kann man dann mit WinSCP (oder einem anderen FTP-Explorer) auf das config-Volume zugreifen:

Bild

4. Und dort die Datei mosquitto.conf durch Doppelklick mit Notepad öffnen und ganz einfach bearbeiten:

Bild

5. Als nächstes kann man mit Rechtsklick im Ordner eine neue Datei erstellen und dort die gewünschten Benutzer mit Passwort eintragen:

Bild

Dann die Datei speichern.

6. Den letzten Schritt muss man leider doch auf der Konsole des Mosquitto-Containers durchführen: das Konvertieren der neu angelegten Benutzerliste. Und zwar mit

Code: Alles auswählen

mosquitto_passwd -U passwordfile
passwordfile umfasst den gesamten Pfad, also z. B. mosquitto/config/users.

Danach den Container neu starten und die neu angelegten Benutzer sollten funktionieren.

Viele Grüße
Falk

Re: Quick How-To: username/password für mosquitto MQTT broker

Verfasst: Do Aug 15, 2024 2:23 pm
von Sun1453
@speckenbuettel Könntest du den letzten Schritt [6] bitte noch mit ein paar Screenshot unterlegen. Danke Dir.

Re: Quick How-To: username/password für mosquitto MQTT broker

Verfasst: Do Aug 15, 2024 3:36 pm
von speckenbuettel
Hallo Michael,

klar, mache ich morgen.

Re: Quick How-To: username/password für mosquitto MQTT broker

Verfasst: Do Aug 15, 2024 9:20 pm
von AndererStefan
Hi,
wer weniger Konsole und mehr GUI möchte, kann auch einen Filebrowser Container erstellen (https://hub.docker.com/r/filebrowser/filebrowser/) und darüber auf die Dateien den anderen Container zugreifen.

Viele Grüße
Stefan