Доступный для систем Windows, macOS и Linux (включая Raspberry Pi), Home Assistant с открытым исходным кодом программное обеспечение действует как центральный узел для управления всеми вашими интеллектуальными устройствами для всех ваших потребностей в домашней автоматизации.
Если вы хотите получить удаленный доступ к своему серверу Home Assistant, используя DDNS или Cloudflare Tunnel, вы должны зашифровать источник с помощью сертификата SSL/TLS. К счастью, вы можете использовать бесплатное дополнение Lets Encrypt для создания и настройки сертификата SSL/TLS на Home Assistant и добавления его на свой сервер.
Способы установки SSL/TLS-сертификата на Home Assistant
Let’s Encrypt — популярный способ настройка бесплатного SSL/TLS на сайтах. Мы также можем использовать Let's Encrypt для защиты нашего сервера Home Assistant одним из следующих способов:
- HTTP-вызов: В этом методе вы используете бесплатную службу DDNS и настраиваете переадресацию портов (порт 80) на своем маршрутизаторе.
- DNS вызов: в этом методе вы регистрируете бесплатный или платный домен и используете безопасный туннель Cloudflare. Вам не нужно открывать какие-либо порты на вашем маршрутизаторе и, следовательно, это более безопасно.
Кроме того, метод HTTP-запроса намного длиннее и сложнее. Метод запроса DNS с безопасным туннелем Cloudflare проще в использовании и развертывании.
Таким образом, в этом руководстве мы будем использовать Cloudflare и Let’s Encrypt для защиты нашего экземпляра Home Assistant и удаленного доступа к нему через HTTPS-соединение. Однако, если вы все еще хотите использовать метод DDNS, следуйте официальное руководство Home Assistant.
Предпосылки для создания SSL
Чтобы настроить и развернуть SSL-сертификат на Home Assistant с использованием метода DNS-запроса для защищенного доступа, вам потребуется следующее:
- Аккаунт Cloudflare.
- Зарегистрированное доменное имя. Вы можете получить бесплатный домен от Freenom.com или зарегистрируйте новый домен у любого поставщика услуг, например GoDaddy.
После регистрации домена добавьте его в свою учетную запись Cloudflare и включите HTTPS вариант под SSL/TLS настройки в Cloudflare.
А пока выберите Гибкий. После того, как вы развернете SSL-сертификат на нашем сервере Home Assistant с помощью Let’s Encrypt, вы сможете включить Полный вариант для сквозное шифрование.
После включения опции HTTPS продолжайте выполнять следующие шаги, чтобы установить Let’s Encrypt и развернуть SSL-сертификат на сервере.
Разверните туннель Cloudflare
Развернув Cloudflare Tunnel, вы можете получить удаленный доступ к серверу Home Assistant через HTTPS. Кроме того, это поможет выполнить задачу DNS для установки SSL-сертификатов на нашем сервере Home Assistant. Шаги следующие:
- Посетить Ссылка на дополнение Cloudflared и нажмите Открыть ссылку.
- Нажмите Добавлять чтобы добавить репозиторий Cloudflared на ваш сервер Home Assistant.
- Теперь найдите и нажмите на Cloudflared добавить.
- Нажмите Установить. Дождитесь завершения установки.
- После установки надстройки Cloudflared нажмите кнопку Конфигурация вкладка
- Нажмите на три точки в правом верхнем углу и вставьте следующий код.
дополнительные_хосты:
-имя хоста: Ваше доменное имя.com
сервис: http://HomeAssistantIP-адрес: 8123
external_hostname: Ваше доменное имя.com
имя_туннеля: помощник по дому
туннель_токен: ""
nginx_proxy_manager: ЛОЖЬ
log_level: отладка
warp_enable: истинный
warp_routes:
- 192.168.0.2/24 - Нажмите Сохранять.
- Кроме того, добавьте следующий код в конфигурация.yaml файл.
http:
use_x_forwarded_for: истинный
доверенные_прокси: - 172.30.33.0/24 - Сохранять и перезапустите сервер Home Assistant.
- После перезагрузки запустите надстройку Cloudflared и включите Начать при загрузке опция для этого дополнения.
- Открой Журнал на странице надстройки Cloudflared и скопируйте отображаемый URL-адрес в веб-браузер. Откроется страница Cloudflare.
- Войдите в Cloudflare, используя зарегистрированную учетную запись электронной почты, а затем выберите доменное имя.
- Нажмите Разрешить.
- Вернуться к Журнал раздел надстройки Home Assistant Cloudflared и проверьте, прошла ли аутентификация успешно. Если это так, он создаст безопасный туннель для доступа к вашему серверу Home Assistant в Интернете через HTTPS. Тем не менее, он еще не зашифрован end-to-end.
Получите API-ключ Cloudflare
Вам нужен Cloudflare API для выполнения запроса DNS, необходимого для развертывания сертификата SSL/TLS на вашем сервере Home Assistant. Шаги следующие:
- Войдите в свою учетную запись Cloudflare и перейдите на https://dash.cloudflare.com/profile страница.
- Нажмите Токены API.
- Нажмите Создать токен API а затем щелкните Использовать шаблон кнопка рядом с Редактировать зону DNS вариант.
- Выбрать Специальная зона вариант, а затем выберите свой доменное имя из раскрывающихся списков под Ресурсы зоны раздел.
- Нажмите Перейти к резюме а затем нажмите Создать токен.
- Скопируйте сгенерированный токен API и сохраните его. Это понадобится вам во время настройки Let’s Encrypt.
Установите дополнение Let’s Encrypt
На сервере Home Assistant выполните следующие действия, чтобы установить надстройку Let’s Encrypt.
- Перейти к Настройки > Дополнения.
- Нажмите на МАГАЗИН ДОПОЛНЕНИЙ кнопка.
- Найдите и нажмите на letsencrypt.
- Нажми на УСТАНОВИТЬ кнопка.
- Пока не запускайте надстройку.
Настроить Let’s Encrypt
Вам нужно добавить информацию о нашем домене и API Cloudflare в файл конфигурации Let’s Encrypt, чтобы установить сертификат на сервер. Для этого выполните шаги, указанные ниже:
- На странице конфигурации Let’s Encrypt нажмите кнопку Конфигурация вкладка
- Нажмите на три точки в правом верхнем углу и выберите Изменить в YAML.
- в Опции поле, вставьте следующий код. Обязательно замените YourDomainName.com с вашим доменным именем. Кроме того, отредактируйте идентификатор электронной почты, адрес электронной почты Cloudflare и токен API (вы создали их на предыдущих шагах, поэтому вставьте их сюда).
домены: -
"*.ВашеДоменИмя.com"
Эл. адрес: Ваш.Эл. адрес@gmail.com
ключевой файл: секретный ключ.pem
файл сертификата: полная цепь.pem
вызов: днс
DNS:
провайдер: dns-cloudflare
cloudflare_email: Ваш.CloudflareЭлектронная почта@gmail.com
cloudflare_api_token: YWrT6HXwMn5hHYKor6B - Нажмите Сохранять.
Создайте сертификат SSL/TLS
После сохранения информации перейдите к Информация вкладку надстройки Let’s Encrypt на вашем сервере Home Assistant и нажмите Начинать.
Это запустит надстройку Let’s Encrypt, которая будет использовать информацию, предоставленную вами в конфигурации. файл, чтобы завершить вызов DNS и установить необходимый сертификат SSL/TLS на ваш сервер Home Assistant.
Это займет некоторое время. Мы настоятельно рекомендуем вам нажать на кнопку Журнал вкладку и следите за журналами (постоянно обновляйте). Если есть какая-либо ошибка, например неверный API или учетные данные, вы можете исправить ее и снова запустить надстройку Let’s Encrypt, чтобы завершить установку сертификата SSL/TLS на вашем сервере Home Assistant.
Если все пойдет хорошо, сертификаты будут сгенерированы и установлены. Бесплатный сертификат будет действителен в течение трех месяцев. Через три месяца или незадолго до окончания третьего месяца вы можете снова запустить надстройку Let’s Encrypt, чтобы обновить сертификаты.
На этом этапе вы можете войти в свою учетную запись Cloudflare и включить Полный режим под SSL/TLS для сквозного шифрования.
Поздравляем! Вы успешно сгенерировали и установили сертификат SSL/TLS на свой сервер Home Assistant.
Бесплатный SSL и удаленный доступ
С помощью этого подробного руководства по настройке сертификатов SSL/TLS на сервере Home Assistant любой может быстро настроить и установить сертификаты и защитить свой экземпляр сервера Home Assistant. Благодаря Cloudflare Tunnel ваш экземпляр Home Assistant также полностью зашифрован. Это также позволяет вам получить доступ к вашему серверу Home Assistant и всем вашим устройствам и локальным серверам из любой точки мира.