Установка пароля на веб-интерфейс контроллера Wiren Board (Debian Bullseye)

Материал из Wiren Board

Это черновик страницы. Последняя правка сделана 03.02.2023 пользователем A.Degtyarev.

Описание

Эта инструкция для пользователей контроллеров Wiren Board 6...7, работающих под Debian Bullseye — это текущий тестинг и все новые релизы ПО, начиная с февраля 2023 года. Подробнее про релизы.

Веб-интерфейс не поддерживает авторизацию пользователя, но вы можете настроить http-авторизацию сервера nginx. После окончания настройки при подключении будет появляться окно с запросом логина и пароля.

Установка пароля

Указаны адрес и порт для локального доступа к websocket и mqtt. Справа вверху зеленая надпись Connected сообщает об успешном соединении.
Форма http-авторизации. Введены логин и пароль.

Чтобы установить пароль, настройте mosquitto и nginx:

  1. В файле /etc/mosquitto/conf.d/10listeners.conf установите параметр allow_anonymous false (по умолчанию true).
    Изменить файл можно открыв его в текстовом редакторе, например, nano:
    nano /etc/mosquitto/conf.d/10listeners.conf
    
  2. Перезапустите mosquitto командой
    systemctl restart mosquitto
    
  3. Далее войдите в веб-интерфейс контроллера в раздел Настройки — Веб-интерфейс. В разделе Подключение к MQTT брокеру измените Порт на 80.
  4. Нажмите Применить и проверьте, что в правом верхнем углу появился статус Подключено в зеленой рамке.

Далее нужно установить пароль на nginx.

  1. Включите глобальную аутентификацию командой:
    ln -s /etc/nginx/sites-available/global_auth /etc/nginx/sites-enabled
    
    Перезапустите nginx:
    systemctl restart nginx
    
    После этого при подключении к веб-интерфейсу будет запрошен логин и пароль. По умолчанию: логин root, пароль wirenboard.
  2. Чтобы поменять пароль, выполните команду ниже:
    printf "root:`openssl passwd -apr1`\n" > /etc/nginx/passwd
    
    здесь вместо root можно придумать любое другое имя пользователя.
    После выполнения команды появится запрос на ввод пароля — введите новый пароль, нажмите Enter, повторите ввод нового пароля и снова нажмите Enter.
  3. Вернитесь в веб-интерфейс, обновите страницу клавишами Ctrl+Shift+R и при запросе логина и пароля введите их.

Совет: Чтобы не вводить логин и пароль каждый раз при подключении к контроллеру, добавьте закладку с адресом контроллера в формате:

http://login:password@host/

Снятие пароля

Чтобы снять пароль с веб-интерфейса, верните конфигурацию mosquitto и nginx к состоянию по умолчанию:

  1. Отключите глобальную аутентификацию командой
    rm /etc/nginx/sites-enabled/global_auth
    
  2. Перезагрузите nginx:
    systemctl restart nginx
    
  3. Отредактируйте файл /etc/mosquitto/conf.d/10listeners.conf, установив параметр allow_anonymous true.
  4. Перезапустите mosquitto командой
    systemctl restart mosquitto
    
  5. Войдите в веб-интерфейс контроллера в раздел Настройки—Веб-интерфейс. В разделе Подключение к MQTT брокеру измените Порт на 18883.
  6. Нажмите Применить и проверьте, что в правом верхнем углу появился статус Подключено в зеленой рамке.
  7. Нажмите Ctrl+Shift+R и убедитесь, что при входе в веб-интерфейс пароль не запрашивается.