Ниже я описал по шагам как отключить пароль, но для информации - вот тут в статье написано как установить пароль и соответственно убрать его можно так же
Подробнее действия должны быть примерно следующие
Чтобы удалить пароль с MQTT-брокера и вернуть контроллер Wiren Board к заводским настройкам (со свободным анонимным доступом), вам нужно отменить изменения, описанные в инструкции по ссылке выше:
Вот пошаговый процесс возврата к настройкам по умолчанию:
1. Удалите созданного ранее пользователя
Посмотрите какие юзеры есть
Например у меня тут только один юзер для теста user_name
$ cat /etc/mosquitto/passwd/default.conf
user_name:$7$101$mQgQVU0tnG7Se9+v$eFV2kEUlaBQUt3DJgpfrMX8WZbCQKkDILW+EAm2bFBRgEveR9cE0Sk2Kja1WybhcUVNCSbWWniv6B31bh51ATg==
Удалите пользователя из файла с хэшами паролей с помощью команды (замените username на логин, который вы создавали):
$ mosquitto_passwd -D /etc/mosquitto/passwd/default.conf username
(Если вы забыли имя пользователя, можете открыть файл nano /etc/mosquitto/passwd/default.conf и просто удалить строчку с ним, после чего сохранить файл).
Посмотрите что юзер удалился реально - у меня тут пусто на выводе
$ cat /etc/mosquitto/passwd/default.conf
< ----- Обратите внимание что файл пустой, тут НЕТ вывода - пусто!
$
2. Восстановите настройки доступов (listeners)
При установке пароля вы ограничивали стандартный порт 1883 (делали его локальным 127.0.0.1) и, скорее всего, создавали новый (например, 1884) с запретом на анонимный доступ (allow_anonymous false).
Откройте файл конфигурации портов:
$ nano /etc/mosquitto/conf.d/10listeners.conf
Что нужно сделать в файле:
- Верните порт
1883 к стандартному виду, чтобы он разрешал подключения всем
- вот так правильно
listener 1883 - только слово и потом порт, ip вконце нет
- вот так НЕ верно
listener 1883 127.0.0.1
- Установить
allow_anonymous true
Вот как выглядит этот файл дефолтно после покупки контроллера:
# This file should be used to define external mosquitto listeners
# (which are not used by internal services).
# Default MQTT port listener.
#
# It allows anonymous listeners by default to be compatible with
# old Wiren Board mosquitto configuration.
#
# It is recommended to add password authentication and TLS for security.
listener 1883
allow_anonymous true
acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf
# Default Websockets listener.
#
# It is used by Wiren Board Web interface.
#
# It allows anonymous listeners by default to be compatible with
# old Wiren Board mosquitto configuration.
#
# It is recommended to add password authentication for security.
# Changed to localhost-only for security reasons for now
listener 18883 lo
protocol websockets
allow_anonymous true
acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf
Сохраните изменения (в nano это делается комбинацией Ctrl+O, Enter, затем Ctrl+X).
3. Очистите права доступа (ACL)
Откройте файл с правами пользователей:
$ nano /etc/mosquitto/acl/default.conf
Удалите строки, которые вы добавляли для своего пользователя (вида user username, topic readwrite # и topic readwrite $SYS/#). Оставьте файл в том виде, в котором он был изначально:
topic readwrite #
topic readwrite $SYS/#
Сохраните файл.
4. Перезапустите MQTT-брокер
Чтобы все изменения вступили в силу, выполните команду перезапуска сервиса:
$ systemctl restart mosquitto
После этого пароль будет удален, а MQTT-брокер снова начнет принимать анонимные подключения по стандартному порту 1883.
5. Проверить статус сервиса
$ systemctl status mosquitto
В ответе в строке Active должно быть что он запущен
Active: active (running) since Fri 2026-04-03 16:23:44 MSK; 4s ago
А в логах не должно быть ошибок
6. Проверить что пароля нет
Если вы получаете значение актуальное этой командой - значит после этих действий пароль на Mqtt будет снят.
$ mosquitto_sub -h localhost -v -t '/devices/rele_v_kabinete/controls/K4' -W 1 -C 1
/devices/rele_v_kabinete/controls/K4 0 <------ Моментальное чтение текущего значения
$
Если ошибка такого рода - значит пароль остался
$ mosquitto_sub -h localhost -v -t '/devices/rele_v_kabinete/controls/K4' -W 1 -C 1
Connection error: Connection Refused: not authorised.
$
Если вывода актуального значения нет, но консоль висит - это значит что пароля нет, но у вас нет такого топика
$ mosquitto_sub -v -t '/devices/rele_v_kabinete/controls/not_correct_topic' -W 1 -C 1
Timed out <------ Вот тут подождет 1 секунду и выдаст сообщение о таймауте
$
Обратите внимание что надо использовать команды именно с флагом -h, иначе проверка будет не корректная так как соединение будет не через http а через UNIX сокеты где пароль не проверяется. То есть вот так НЕ верно:
$ mosquitto_sub -v -t "/devices/KITMR/controls/K4"