Disponibile per sistemi Windows, macOS e Linux (incluso Raspberry Pi), l'assistente domestico open source il software funge da hub centrale per il controllo di tutti i tuoi dispositivi intelligenti per tutte le tue esigenze di automazione domestica.

Se vuoi accedere al tuo server Home Assistant da remoto, sia tramite DDNS che Cloudflare Tunnel, devi crittografare la sorgente con un certificato SSL/TLS. Fortunatamente, puoi utilizzare il componente aggiuntivo gratuito Lets Encrypt per generare e configurare il certificato SSL/TLS su Home Assistant e aggiungerlo al tuo server.

Metodi per installare il certificato SSL/TLS su Home Assistant

Let's Encrypt è un modo popolare di configurazione di SSL/TLS gratuiti sui siti Web. Possiamo anche utilizzare Let's Encrypt per proteggere il nostro server Home Assistant seguendo uno dei seguenti metodi:

  • Sfida HTTP: In questo metodo, utilizzi il servizio DDNS gratuito e configuri il port forwarding (porta 80) sul tuo router.
  • Sfida DNS: In questo metodo, registri un dominio gratuito oa pagamento e utilizzi un Cloudflare Tunnel sicuro. Non è necessario aprire alcuna porta sul router e quindi è più sicuro.
    instagram viewer

Inoltre, il metodo di sfida HTTP è molto più lungo e complesso. Il metodo di verifica DNS con un tunnel Cloudflare sicuro è più facile da seguire e distribuire.

Pertanto, per questa guida utilizzeremo Cloudflare e Let's Encrypt per proteggere la nostra istanza di Home Assistant e accedervi in ​​remoto tramite una connessione HTTPS. Tuttavia, se vuoi comunque utilizzare il metodo DDNS, segui il guida ufficiale dell'assistente domestico.

Prerequisiti per generare SSL

Per configurare e distribuire il certificato SSL su Home Assistant utilizzando il metodo di verifica DNS per l'accesso protetto, avrai bisogno di quanto segue:

  • Un account Cloudflare.
  • Un nome di dominio registrato. Puoi ottenere un dominio gratuito da Freenom.com o registrare un nuovo dominio su qualsiasi fornitore di servizi, come GoDaddy.

Una volta registrato il dominio, aggiungilo al tuo account Cloudflare e abilita il HTTPS opzione sotto SSL/TLS impostazioni in Cloudflare.

Per ora, scegli Flessibile. Dopo aver distribuito il certificato SSL sul nostro server Home Assistant utilizzando Let's Encrypt, puoi abilitare il Completo opzione per crittografia end-to-end.

Dopo aver abilitato l'opzione HTTPS, continua a seguire i passaggi successivi per installare Let's Encrypt e distribuire il certificato SSL sul server.

Distribuisci Cloudflare Tunnel

Implementando Cloudflare Tunnel, puoi accedere al server Home Assistant in remoto tramite HTTPS. Inoltre, questo aiuterà a completare la sfida DNS per l'installazione dei certificati SSL sul nostro server Home Assistant. I passi sono come segue:

  1. Visitare il Collegamento aggiuntivo Cloudflared e fare clic Link aperto.
  2. Clic Aggiungere per aggiungere il repository Cloudflared al tuo server Home Assistant.
  3. Ora cerca e fai clic su Cloudflared Aggiungi su.
  4. Clic Installare. Attendi il completamento dell'installazione.
  5. Dopo aver installato il componente aggiuntivo Cloudflared, fai clic su Configurazione scheda.
  6. Fai clic sui tre punti in alto a destra e incolla il codice seguente.
    host_aggiuntivi:
    -Nome host: TuoNomeDominio.com
    servizio: http://Indirizzo IP dell'assistente domestico: 8123
    nome_host esterno: TuoNomeDominio.com
    tunnel_name: assistente domestico
    tunnel_token: ""
    nginx_proxy_manager: falso
    log_level: debug
    warp_enable: VERO
    warp_routes:
    - 192.168.0.2/24
  7. Clic Salva.
  8. Inoltre, aggiungi il codice seguente al file configurazione.yaml file.
    http:
    use_x_forwarded_for: VERO
    fidati_proxy: - 172.30.33.0/24
  9. Salva e riavvia il server Home Assistant.
  10. Dopo il riavvio, avvia il componente aggiuntivo Cloudflared e abilita il Avviare al boot opzione per questo componente aggiuntivo.
  11. Apri il Tronco d'albero scheda nella pagina del componente aggiuntivo di Cloudflared e copia l'URL web visualizzato nel tuo browser web. Si aprirà la pagina di Cloudflare.
  12. Accedi a Cloudflare utilizzando il tuo account e-mail registrato e quindi seleziona il nome di dominio.
  13. Clic Autorizzare.
  14. Ritorna al Tronco d'albero sezione del tuo componente aggiuntivo Home Assistant Cloudflared e verifica se l'autenticazione ha esito positivo. In tal caso, creerà un tunnel sicuro per esporre il tuo server Home Assistant su Internet tramite HTTPS. Tuttavia, non è ancora crittografato end-to-end.

Ottieni la chiave API Cloudflare

Hai bisogno dell'API Cloudflare per completare la sfida DNS richiesta per distribuire il certificato SSL/TLS sul tuo server Home Assistant. I passi sono come segue:

  1. Accedi al tuo account Cloudflare e vai su https://dash.cloudflare.com/profile pagina.
  2. Clic Token API.
  3. Clic Crea token API e quindi fare clic su Usa modello pulsante accanto al Modifica il DNS della zona opzione.
  4. Scegli il Zona specifica opzione e quindi seleziona il tuo nome del dominio dai menu a discesa sotto il Risorse di zona sezione.
  5. Clic Continua al riepilogo e quindi fare clic Crea token.
  6. Copia il token API generato e tienilo al sicuro. Ne avrai bisogno durante la configurazione di Let's Encrypt.

Installa il componente aggiuntivo Let's Encrypt

Sul tuo server Home Assistant, segui questi passaggi per installare il componente aggiuntivo Let's Encrypt.

  1. Vai a Impostazioni > Componenti aggiuntivi.
  2. Clicca il NEGOZIO AGGIUNTIVO pulsante.
  3. Cerca e clicca su crittografa.
  4. Clicca sul INSTALLARE pulsante.
  5. Non avviare ancora il componente aggiuntivo.

Configura Let's Encrypt

È necessario aggiungere i dettagli del nostro dominio e dell'API Cloudflare nel file di configurazione Let's Encrypt per installare il certificato sul server. Per questo, segui i passaggi indicati di seguito:

  1. Nella pagina di configurazione Let's Encrypt, fare clic su Configurazione scheda.
  2. Clicca il tre punti in alto a destra e scegli Modifica in YAML.
  3. Nel Opzioni campo, incolla il codice seguente. Assicurati di sostituire TuoNomeDominio.com con il tuo nome di dominio. Inoltre, modifica l'ID e-mail, l'e-mail Cloudflare e il token API (li hai generati nei passaggi precedenti, quindi incollali qui).
    domini: -
    "*.NomeDominio.com"
    e-mail: Tuo.E-mail@gmail.com
    file di chiavi: chiave privata.pem
    file certificato: a catena intera.pem
    sfida: dns
    dn:
    fornitore: dns-cloudflare
    cloudflare_email: Tuo.E-mail di Cloudflare@gmail.com
    cloudflare_api_token: YWrT6HXwMn5hHYKor6B
  4. Clic Salva.

Genera il certificato SSL/TLS

Una volta salvate le informazioni, vai su Informazioni scheda del componente aggiuntivo Let's Encrypt sul tuo server Home Assistant e fai clic Inizio.

Questo avvierà il componente aggiuntivo Let's Encrypt, che utilizzerà le informazioni fornite da te nella configurazione per completare la sfida DNS e installare il certificato SSL/TLS richiesto sul server Home Assistant.

Questo richiederà un po' di tempo per essere completato. Ti consigliamo vivamente di fare clic su Tronco d'albero scheda e tieni d'occhio i log (continua ad aggiornare). Se si verifica un errore, ad esempio un'API o credenziali non valide, puoi correggerlo e avviare nuovamente il componente aggiuntivo Let's Encrypt per completare l'installazione del certificato SSL/TLS sul server Home Assistant.

Se tutto va bene, i certificati verranno generati e installati. Il certificato gratuito sarà valido per tre mesi. Dopo tre mesi o appena prima della fine del terzo mese, puoi avviare nuovamente il componente aggiuntivo Let's Encrypt per rinnovare i certificati.

A questo punto, puoi accedere al tuo account Cloudflare e accenderlo Modalità completa sotto SSL/TLS per la crittografia end-to-end.

Congratulazioni! Hai generato e installato correttamente il certificato SSL/TLS sul tuo server Home Assistant.

SSL gratuito e accesso remoto

Con questa guida dettagliata sulla configurazione dei certificati SSL/TLS sul server Home Assistant, chiunque può configurare e installare rapidamente i certificati e proteggere la propria istanza del server Home Assistant. Con Cloudflare Tunnel, anche la tua istanza di Home Assistant è crittografata end-to-end. Ciò ti consente anche di accedere al tuo server Home Assistant e a tutti i tuoi dispositivi e server locali da qualsiasi parte del mondo.