В ней закрывается доступ к mqtt только для локалхоста, если я правильно понимаю.
А как разрешить доступ с стороннего клиента, но сделать к нему авторизацию?
Указываю в строке password_file /etc/mosquitto/passwd/users.conf
в котором устанавливаю пароли при помощи mosquitto_passwd , но сторонний клиент отказывается подключаться.
Клиент на самом деле подключается, но к нему не приходят никакие данные.
Когда меняю password_file на /etc/mosquitto/passwd/default.conf, клиент пишет:
root@wirenboard-AGLPZPUI:/etc/mosquitto/passwd# mosquitto_sub -h localhost -p 1883 -t # -u user -P admin
Connection error: Connection Refused: not authorised.
Так как анонимусы не разрешены, а в default.conf пусто. То есть, все работает верно.
Когда возвращаю обратно pass.conf, то коннект происходит, но данных нет.
Когда ставлю allow_anonymous true, данные начинают приходить.
Вопрос - как закрыть паролем MQTT для внешних клиентов, но чтобы все данные приходили?
Здравствуйте.
Если вам нужна установка пароля на MQTT брокер, то воспользуйтесь данной инструкцией. Попробуйте по инструкции и опишите, если у вас не получится.
В ‘/etc/mosquitto/acl/default.conf’ прописывали юзера?
Да, проблема была в acl - /etc/mosquitto/acl/default.conf, туда надо было добавить пользователя для доступа к топикам.
Спасибо, инструкция помогла.
Правильно ли я понял, что если надо задать пароль на веб-интерфейс, но оставлять доступ к mqtt от стороннего клиента, то нельзя задавать ограничение по ip как указано в этой инструкции: https://wirenboard.com/wiki/WebUI_Password_Bullseye
listener 1883 127.0.0.1
.
И последний вопрос - если я задаю пароль и юзера на доступ к mqtt, не сломаются ли внутренние заводские скрипты WB на записи в топики? Они пишут как-то иначе?