WebUI Password Stretch: различия между версиями
Matveevrj (обсуждение | вклад) |
|||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
{{ | {{DISPLAYTITLE: Установка пароля на веб-интерфейс контроллера Wiren Board (Debian Stretch) }} | ||
{{ | == Описание == | ||
== | Эта инструкция для пользователей контроллеров Wiren Board 5...7, работающих под Debian Stretch — {{Wbincludes: WebUI Debian Stretch Releases}}. [[Wiren_Board_Software|Подробнее про релизы]]. | ||
{{Wbincludes: WebUI Password Intro}} | |||
==Установка пароля== | |||
[[Image: WebUI-2.0 — IP and Port.png|300px|thumb|right| Указаны адрес и порт для локального доступа к websocket и mqtt. Справа вверху зеленая надпись ''Connected'' сообщает об успешном соединении.]] | [[Image: WebUI-2.0 — IP and Port.png|300px|thumb|right| Указаны адрес и порт для локального доступа к websocket и mqtt. Справа вверху зеленая надпись ''Connected'' сообщает об успешном соединении.]] | ||
[[Image: HTTP-auth.png|300px|thumb|right| Форма http-авторизации. Введены логин и пароль.]] | [[Image: HTTP-auth.png|300px|thumb|right| Форма http-авторизации. Введены логин и пароль.]] | ||
Чтобы установить пароль, настройте mosquitto и nginx: | |||
# Закройте доступ к <code>websocket-</code> и mqtt-порт снаружи. Для этого откройте файл <code>/etc/mosquitto/conf.d/listeners.conf</code>: | # Закройте доступ к <code>websocket-</code> и mqtt-порт снаружи. Для этого откройте файл <code>/etc/mosquitto/conf.d/listeners.conf</code>: | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
Строка 48: | Строка 51: | ||
'''Совет:''' Чтобы не вводить логин и пароль каждый раз при подключении к контроллеру, добавьте закладку с адресом контроллера в формате: <pre>http://login:password@host/</pre> | '''Совет:''' Чтобы не вводить логин и пароль каждый раз при подключении к контроллеру, добавьте закладку с адресом контроллера в формате: <pre>http://login:password@host/</pre> | ||
== | ==Снятие пароля== | ||
Чтобы | Чтобы снять пароль с веб-интерфейса, верните конфигурацию mosquitto и nginx к состоянию по умолчанию. | ||
#Отключите глобальную аутентификацию командой: | #Отключите глобальную аутентификацию командой: |
Текущая версия на 12:43, 21 декабря 2023
Описание
Эта инструкция для пользователей контроллеров Wiren Board 5...7, работающих под Debian Stretch — это все релизы ПО до wb-2207 включительно. Подробнее про релизы.
Веб-интерфейс не поддерживает авторизацию пользователя, но вы можете настроить http-авторизацию сервера nginx. После окончания настройки при подключении будет появляться окно с запросом логина и пароля.
Установка пароля
Чтобы установить пароль, настройте mosquitto и nginx:
- Закройте доступ к
websocket-
и mqtt-порт снаружи. Для этого откройте файл/etc/mosquitto/conf.d/listeners.conf
:nano /etc/mosquitto/conf.d/listeners.conf
- и приведите его к виду:
#change 0.0.0.0 to limit listener to localhost listener 1883 127.0.0.1 # example: #listener 1883 0.0.0.0 #change 0.0.0.0 to 127.0.0.1 to limit listener to localhost listener 18883 127.0.0.1 protocol websockets
- Перезагрузите
mosquitto
:systemctl restart mosquitto
- Теперь перейдите в веб-интерфейс и обновите страницу клавишами
Ctrl+Shift+R
— это сбросит кэш страницы. - На ошибки соединения пока не обращайте внимание и перейдите в раздел Настройки — Веб-интерфейс, укажите в поле Порт новое число
80
. Далее нажмите Применить. В правом верхнем углу должна появиться зеленая надписьПодключено
. Теперь проверьте, что всё работает: перейдите в раздел Конфигурации и проверьте, что конфигурации доступны для просмотра и редактирования.
Далее нужно установить пароль на nginx.
- Включите глобальную аутентификацию:
ln -s /etc/nginx/sites-available/global_auth /etc/nginx/sites-enabled systemctl restart nginx
- После этого при подключении к веб-интерфейсу будет запрошен логин и пароль. По умолчанию: логин root, пароль wirenboard.
- Чтобы поменять пароль, выполните команду ниже:
printf "root:`openssl passwd -apr1`\n" > /etc/nginx/passwd
- здесь вместо root можно придумать любое другое имя пользователя.
- После выполнения команды появится запрос на ввод пароля — введите новый пароль, нажмите
Enter
, повторите ввод нового пароля и снова нажмитеEnter
.
- Вернитесь в веб-интерфейс, обновите страницу клавишами
Ctrl+Shift+R
и при запросе логина и пароля введите их.
Совет: Чтобы не вводить логин и пароль каждый раз при подключении к контроллеру, добавьте закладку с адресом контроллера в формате:
http://login:password@host/
Снятие пароля
Чтобы снять пароль с веб-интерфейса, верните конфигурацию mosquitto и nginx к состоянию по умолчанию.
- Отключите глобальную аутентификацию командой:
rm /etc/nginx/sites-enabled/global_auth
- Перезагрузите nginx:
systemctl restart nginx
- Откройте файл etc/mosquitto/conf.d/listeners.conf:
nano /etc/mosquitto/conf.d/listeners.conf
- И приведите его к виду:
#change 0.0.0.0 to limit listener to localhost listener 1883 0.0.0.0 # example: #listener 1883 0.0.0.0 #change 0.0.0.0 to 127.0.0.1 to limit listener to localhost listener 18883 0.0.0.0 protocol websockets
- Перезагрузите mosquitto:
systemctl restart mosquitto
- Перейдите в веб-интерфейс и обновите страницу клавишами Ctrl+Shift+R — это сбросит кэш страницы.
- Перейдите в раздел Настройки — Веб-интерфейс, укажите в поле Порт значение 18883. Нажмите Применить. В правом верхнем углу должна появиться зеленая надпись
Подключено
. - Нажмите еще раз Ctrl+Shift+R и убедитесь, что при входе в веб-интерфейс пароль не запрашивается.