Récupération de fichier ssl sur disque

Mon problème

Salut, alors voila déjà plusieurs fois que je galère pour mon certificats ssl, impossible via mon nas synology disque j’ai et NDD.
Donc j’ai fait une demande de wildcart sur home assistant, tout se passe bien et on me dit que le fichier se trouve dans « /data/letsencrypt/live/mondomaine.fr/fullchain.pem ».
J’ai donc installer filesbrowser, je vois bien le dossier data mais rien dedans. on a pas accès a tout avec cette addon ?
je veux récupérer le fichier pour le mettre dans les certificat NAS car c’est mon NAS qui fait revers proxy. le problème c’est que j’ai un certificat synology.me qui passe avant mon let’s encrypte pour l’instant.

Mon objectif et par la suite d’enlevé le cloud pour le pas payer, c’est super cher juste pour utilisé alexa.

Ma configuration


[center]## System Information

version core-2023.9.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.5
os_name Linux
os_version 6.1.21-v8
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.32.1
Stage running
Available Repositories 1285
Downloaded Repositories 6
Home Assistant Cloud
logged_in true
subscription_expiration 13 octobre 2023 à 02:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled true
google_enabled true
remote_server eu-central-1-14.ui.nabu.casa
certificate_status ready
can_reach_cert_server failed to load: timeout
can_reach_cloud_auth failed to load: timeout
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 10.5
update_channel stable
supervisor_version supervisor-2023.09.2
agent_version 1.5.1
docker_version 23.0.6
disk_total 57.8 GB
disk_used 5.5 GB
healthy true
supported true
board rpi3-64
supervisor_api ok
version_api ok
installed_addons Z-Wave JS (0.1.90), Studio Code Server (5.10.2), Terminal & SSH (9.7.1), Let’s Encrypt (4.12.9), Spotify Connect (0.12.5), File editor (5.6.0), Filebrowser (2.25.0)
Dashboards
dashboards 2
resources 1
views 3
mode storage
Recorder
oldest_recorder_run 12 septembre 2023 à 16:44
current_recorder_run 22 septembre 2023 à 06:15
estimated_db_size 12.53 MiB
database_engine sqlite
database_version 3.41.2
[/center]

Salut,

Je pense que le chemin auquel tu fais référence est celui vu DANS le container let’s encrypt…
Coté HA c’est souvent la racine de /config

Ensuite sur la démarche, je ne sais pas si c’est vraiment idéal, techniquement ça marche d’aller récupérer le certificat et la clé pour la déposer ailleurs mais c’est une opération fastidieuse, et à faire tous les 3 mois (période max d’un certificat LE !)
Par ailleurs si c’est ton nas qui fait reverse proxy, c’est sans doute à lui de faire le boulot pour joindre HA également et donc à lui de faire le boulot de création/régénération du certificat

1 « J'aime »

donc j’ai pas accès au container ? c’est bien compliqué c’est histoire de container xD.
le problème c’est que mon nas gère le let’s encrypt que pour synology.me ou un DDNS et non un NDD. j’essaie de trouver des solution mais les tutos sont très souvent sur d’ancienne version ou alors sur les liens inexistant ou devenu payant.
sur HA c’est pareille souvent des vieux tuto qu’il faut réadapter xD

C’est pas compliqué et tu as accès à tout. Juste que le répertoire que tu vois n’as pas le même chemin en fonction de où tu te places. Et par contruction, tu n’es pas dans un container.

C’est pas lié à HA ça. Techniquement NDD ou DDNS c’est pareil : un nom de (sous-)domaine qui correspond à ton ip publique.

Oui c’est le souci avec les choses qui changent vite. Par contre dans ton cas par contre, c’est juste que c’est pas avec un certificat sur HA que tu va résoudre ton souci. Comme dit plus haut ton syno faire office de reverse-proxy. C’est lui qui donc gérer le truc.
J’ai pas de syno, mais ça doit pas varier des masses : dns → Adresse:port → syno → redirection vers appli:port

Faire cohabiter 2 gestions différentes (syno et HA pour gérer les certificats) c’est rendre les choses plus compliquées

Dans mon cas, le certificat (chaine+clef privé) est accessible dans ‹ /ssl › de l’Add-On « Terminal & SSH » .

Avec ‹ scp › on pourrait faire une copie journalière pour tenir à jour le NAS. Soit par un commande cron sur le NAS, soit par une automatisation sur HA. Evidemment il faut que la clef public SSH adéquate soit dans le fichier « authorized_keys » adéquat ou dans la configuration de « Terminal & SSH » .

J’ai vérifié mon Synology et les certificats wildcard ne sont renouvelables par le NAS que pour les domaines proposés par Synology.

J’ai également une configuration ou je gères des certificats à divers niveaus: pare-feu OPNsense juste après la box sur lequel j’ai haproxy qui redirige vers divers services, dont HA mais aussi des services sur le NAS.

Toutefois, j’ai une règle NAT sur OPNsense qui renvoie un port public vers le port de gestion du NAS (je crois que c’est 5001 par défaut, mais j’ai défini un autre port).

Le NAS gère lui-même un certificat pour divers sous-domaines (donc pas un wildcard) et parviens visiblement à le renouveller sans problème malgré la présence de mon pare-feu.

Le certificat sur mon NAS est utile pour les connections sur le port de gestion, et pour les connections en local car le DNS de mon pare-feu donne l’IP local aux machines dans le réseau interne pour un accès direct.

2 « J'aime »

Impeccable comme idée ca.

effectivement sur Synology et les certificats wildcard ne sont renouvelables par le NAS que pour les domaines proposés par Synology.

sauf que vie «filebrowser » ou « Terminal & SSH » je ne trouve pas le fichier,
ni dans - « /data/letsencrypt/live/mondomaine.fr/fullchain.pem ». car le chemin data n’existe pas
ni dans - « /config »
quand je lit ca : le répertoire que tu vois n’as pas le même chemin en fonction de où tu te places, on dirais un proverbe chinois :smiley:

Tout ce qui est accessible via le «filebrowser » ou « Terminal & SSH » c’est le contenu de /config…
Contenu partagé entre les différents containers donc enre HA et l’addon let’s encrypt…
Tu dois par exemple avoir un truc genre /ssl/fullchain.pem et /ssl/privkey.pem

1 « J'aime »

wow, ca y est, merci beaucoup,
je vais m’occuper de faire une copie journalière pour tenir à jour le NAS avec SCP du coup.
pas évidant évidant cette gestion de dossier, mais HA me plait bien ca reste facile a programmer de base, et après je vais devoir approfondir.

Je n’ai pas trouvé l’option "résolue "

Pour être plus précis, dans mon Terminal & SSH:


| |  | |                          /\           (_)   | |            | |  
| |__| | ___  _ __ ___   ___     /  \   ___ ___ _ ___| |_ __ _ _ __ | |_ 
|  __  |/ _ \| '_ \ _ \ / _ \   / /\ \ / __/ __| / __| __/ _\ | '_ \| __|
| |  | | (_) | | | | | |  __/  / ____ \\__ \__ \ \__ \ || (_| | | | | |_ 
|_|  |_|\___/|_| |_| |_|\___| /_/    \_\___/___/_|___/\__\__,_|_| |_|\__|

Welcome to the Home Assistant command line.

System information
  IPv4 addresses for wlan0: 
  IPv4 addresses for eth0:  192.168.1.75/24
  IPv6 addresses for eth0:  fe80::e3e6:e3a4:d086:7a61/64

  OS Version:               Home Assistant OS 10.5
  Home Assistant Core:      2023.9.2

  Home Assistant URL:       http://homeassistant.local:8123
  Observer URL:             http://homeassistant.local:4357
root@core-ssh.local.hass.io:~# ls -lrt /ssl
total 8
-rw-------    1 root     root          1708 Aug 12 20:44 privkey.pem
-rw-r--r--    1 root     root          3587 Aug 12 20:44 fullchain.pem

En complémént: l’intégration shell_command permets d’exécuter des commandes - je suppose qu’ils s’exécutent sous le conteneur de Home Assistant.

L’exemple qui suit devrait donner des idées comment trouver l’emplacement du certificat, et aussi comment le récupérer.

Voici mon ajout à configuration.yaml - les commandes sont disponibles comme des services arprès redémarrage de HA:

shell_command:
  test: "find /etc -name '*.pem' ; echo /* ; which scp ; which ssl ; ls ~/.ssh/ ; echo $(realpath ~/)"
  myscript: "/config/myscript.sh"
  myscript2: ". /config/myscript.sh"

Depuis peu on obtient le résultat dans l’interface après l’exécution du service sous Outils de Développement > Services:

Ce qui nous permets de constater qu’il y a un /etc/ssl/cert.pem, un répertoire /ssl, l’absence du répertoire ‹ /data › , la présence de ‹ /config › et la disponibilité de scp. Le HOME est ‹ /root › qui est dépourvu d’un répertoire .ssh ce qui rendra la mise en oeuvre de ‹ scp › avec ‹ shell_command › un peu plus complexe, mais cela reste possible.
On peut aussi se passer de ‹ scp › et copier les fichiers sous /config ou encore /config/www - les fichiers sous /config/www étant accessibles en préfixant http(s)://homeassistant.local:8123/local/ - et ce sans authentification (attention donc à utiliser un chemin bien secret et de chiffrer éventuellement les fichiers lors de la copie).

Dans ma configuration j’ai prévu l’éxécution d’un script ‹ /config/myscript.sh › de 2 façons. Cela me permettra de faire des essais à l’avenir sans avoir à redémarrer home assistant - il suffira de créer/modifier /config/myscript.sh .