# MQTT zabezpieczenie

**URL:** <https://ai-speaker.discourse.group/t/mqtt-zabezpieczenie/158>\
**Category:** konfiguracja\
**Created:** [13 Styczeń 2020 15:23 UTC](https://ai-speaker.discourse.group/t/mqtt-zabezpieczenie/158 "2020-01-13T15:23:14Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Autor:** ![mozimek](https://avatars.discourse-cdn.com/v4/letter/m/e5b9ba/32.png) [@mozimek](https://ai-speaker.discourse.group/u/mozimek)\
**Data wpisu:** [13 Styczeń 2020 15:23 UTC](https://ai-speaker.discourse.group/t/mqtt-zabezpieczenie/158/1 "2020-01-13T15:23:14Z")

</div>

Witam,  
Czy można zabezpieczyć dostęp do MQTT użytkownikiem/hasłem? Domyślnie usługa nie jest zabezpieczona. Jeśli jest to opisane w dokumentacji to proszę o link i przepraszam że nie poszukałem bardziej 🙂  
Marek

---

<div class="post-metadata">

**Autor:** ![jolka](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/jolka/32/5_2.png) [@jolka](https://ai-speaker.discourse.group/u/jolka)\
**Data wpisu:** [14 Styczeń 2020 18:06 UTC](https://ai-speaker.discourse.group/t/mqtt-zabezpieczenie/158/2 "2020-01-14T18:06:46Z")

</div>

Jasne, że można, nie robimy tego domyślnie, bo bramka działa lokalnie i wyszliśmy z założenia, że jak wpuszczamy kogoś do naszej sieci domowej, to znaczy, że “mu ufamy”.

Broker MQTT, który mamy na bramce to mosquitto:

```auto
$ mosquitto -h
mosquitto version 1.6.7

mosquitto is an MQTT v3.1.1 broker.

Usage: mosquitto [-c config_file] [-d] [-h] [-p port]

 -c : specify the broker config file.
 -d : put the broker into the background after starting.
 -h : display this help.
 -p : start the broker listening on the specified port.
      Not recommended in conjunction with the -c option.
 -v : verbose mode - enable all logging types. This overrides
      any logging options given in the config file.

See http://mosquitto.org/ for more information.

```

sami go kompilujemy, tak jak wszystkie binarki na bramce dostępne przez apt:

```auto
$ apt show mosquitto
Package: mosquitto
Version: 1.6.7-1
Maintainer: Nathaniel Wesley Filardo @nwf
Installed-Size: 467 kB
Depends: libuuid, libmosquitto (= 1.6.7-1)
Homepage: https://mosquitto.org/
Download-Size: 158 kB
APT-Manual-Installed: yes
APT-Sources: https://powiedz.co/apt dom-dev/beta arm Packages
Description: MQTT version 3.1/3.1.1 compatible message broker and clients

```

Konfiguracja jest w

```auto
/data/data/pl.sviete.dom/files/usr/etc/mosquitto/mosquitto.conf

```

można dodać hasło, szyfrowanie, łączyć się z innymi brokerami mqtt (bridge), oczywiście trzeba też zmienić konfigurację klientów (w tym nadpisać w konfigu Home Assistant naszą domyślną konfigurację mqtt)  
tu jest opis jak działa konfiguracja brokera mqtt

> **[mosquitto.conf man page](https://mosquitto.org/man/mosquitto-conf-5.html)**
>
> Name
> mosquitto.conf — the configuration file for mosquitto
> 
> 
> Synopsis
> mosquitto.conf 
> 
> 
> Description
> mosquitto.conf is the configuration file for
> mosquitto. This file can reside anywhere as long as m

---

<div class="post-metadata">

**Autor:** ![mozimek](https://avatars.discourse-cdn.com/v4/letter/m/e5b9ba/32.png) [@mozimek](https://ai-speaker.discourse.group/u/mozimek)\
**Data wpisu:** [15 Styczeń 2020 10:47 UTC](https://ai-speaker.discourse.group/t/mqtt-zabezpieczenie/158/3 "2020-01-15T10:47:45Z")

</div>

Dziękuję za odpowiedź. Z zabezpieczeniem brokera sobie poradzę.

Czy mogę prosić o więcej szczegółów odnośnie konfiguracji strony klienckiej w systemie? Mam na myśli "  
oczywiście trzeba też zmienić konfigurację klientów (w tym nadpisać w konfigu Home Assistant naszą domyślną konfigurację mqtt"

Które pliki konfiguracyjne trzeba poprawić?

---

<div class="post-metadata">

**Autor:** ![jolka](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/jolka/32/5_2.png) [@jolka](https://ai-speaker.discourse.group/u/jolka)\
**Data wpisu:** [15 Styczeń 2020 13:14 UTC](https://ai-speaker.discourse.group/t/mqtt-zabezpieczenie/158/4 "2020-01-15T13:14:20Z")

</div>

To działa dokładnie tak jak w Home Assistant, główna konfiguracja jest w pliku configuration.yaml  
dostępnym w folderze /data/data/pl.sviete.dom/files/home/AIS

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/fdf0e54ff1f18384af045f3eb40d337697a8dccd.png)

> Podczas uruchomienia Asystenta domowego łączymy konfigurację użytkownika z domyślną, którą ma wewnętrznie zdefiniowaną - nadpisujemy domyślną parametrami użytkownika.

Jeżeli dodasz w pliku configuration.yaml na końcu taką linijkę:

```
mqtt: !include mqtt.yaml

```

następnie w tym folderze dodasz plik mqtt.yaml ze swoimi ustawieniami brokera mqtt (pniżje są nasze domyślne ustawienia):

```auto
broker: 127.0.0.1
keepalive: 60
discovery: true
discovery_prefix: homeassistant
protocol: 3.1
birth_message:
  topic: "tele/hass1/LWT"
  payload: "Online"
  qos: 1
  retain: true
will_message:
  topic: "tele/hass1/LWT"
  payload: "Offline"
  qos: 1
  retain: true

```

sprawdzisz, że konfiguracja jest poprawna i zrestartujesz serwer:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/1b8a95ee7a97dc1018f2ecab56cfa628e22d80d0.png)

To właśnie napisałeś domyślą konofigurację bokera MQTT dla Asystenta domowego.  
Oczywiscie każdy inny klient MQTT (urządzenia) to osobny temat.

PS  
tu są opisane wszystkie możliwe ustawienia brokera MQTT w Home Assistant

> **[MQTT](https://www.home-assistant.io/integrations/mqtt/)**
>
> Instructions on how to setup MQTT within Home Assistant.

### Uwaga

Nadpisywanie konfiguracji i stosowanie własnych komponentów == wiem co robię i radzę sobie!  
Proszę nie liczyć na wsparcie, jeżeli używa się własnych parametrów i konfiguracji - nie mamy czasu na analizowanie problemów powstałych po zmianie konfiguracji lub dodaniu własnych niestandardowych komponentów.  
Z góry dziękujemy za zrozumienie 🙂
