Aller au contenu

[TUTO] Certificat Let's Encrypt avec acme.sh & api Ovh en Docker (DSM6/7) (Update 07/09/22)


Messages recommandés

Posté(e)

Hello 🙂

Ce matin, le script journalier me retourne tout ça :
 

Citation

Tâche : acme_2C-quotidien.sh
Heure de début : Mon, 24 May 2021 05:00:02 GMT
Heure d’arrêt : Mon, 24 May 2021 05:00:21 GMT
État actuel : 0 (Normal)
Sortie standard/erreur :
05:00:02 -  Script de création du conteneur Acme pour créer le certificat wildcard
05:00:02 -  Exécution des commandes...
latest: Pulling from neilpang/acme.sh
339de151aab4: Already exists
e8d800a9c798: Pulling fs layer
3e9d472d5e0a: Pulling fs layer
769743c6d8d2: Pulling fs layer
f5adb1520c76: Pulling fs layer
2c0f9cb42b0c: Pulling fs layer
d0332a3b904f: Pulling fs layer
2c0f9cb42b0c: Waiting
d0332a3b904f: Waiting
f5adb1520c76: Waiting
769743c6d8d2: Verifying Checksum
769743c6d8d2: Download complete
3e9d472d5e0a: Verifying Checksum
3e9d472d5e0a: Download complete
e8d800a9c798: Download complete
f5adb1520c76: Verifying Checksum
f5adb1520c76: Download complete
e8d800a9c798: Pull complete
3e9d472d5e0a: Pull complete
769743c6d8d2: Pull complete
f5adb1520c76: Pull complete
d0332a3b904f: Verifying Checksum
d0332a3b904f: Download complete
2c0f9cb42b0c: Download complete
2c0f9cb42b0c: Pull complete
d0332a3b904f: Pull complete
Digest: sha256:5e298dc44cf3fa69208a318bd6f5cc7e3f4374e705f582042e07a267f737d528
Status: Downloaded newer image for neilpang/acme.sh:latest
Acme
Acme
Deleted Images:
untagged: neilpang/acme.sh@sha256:9b3b2b3b7e8cbad55463702b9f090e41385b653321466978fbb7e3faf84401e3
deleted: sha256:c6d85771380c01d90b3accd7933f57a4cc845a7a594cf70c5d09e6bde1a62c76
deleted: sha256:2ef3c06869804436441c79170c914310b1ce4935cc5b999803fe0bb5a2a17a28
deleted: sha256:3c2387f91fd2d68132eff36245ab04e4130df9faec4b4fe175b9d96ccf60b3e3
deleted: sha256:99c6e23cf6f534db97a270df0d1bddd00cccb04249eecb9e64fcf2d6ba1e399f
deleted: sha256:65196d101327407b2bc2d4bb1847a4018eebdb84f149cfd9638a21f1b7439a46
deleted: sha256:caf8a1665ad387bb8e37039d81528ce8eef507b6ea0036dcc406381a927d3c42
deleted: sha256:6eb8bec9fd89bb7acb7e3623a1a5513c424b89cbb100405d0a5b574e8d144d2b

Total reclaimed space: 26.8MB
fc23ff17dad16e29b4fc314b97cf4d6a4cf044adbe0fe0d623dafe9d35c3d256
05:00:21 -  Script de création du conteneur terminé

Comment ça se fait qu'il y ait autant de "trucs" téléchargé ?
C'est pas une image qui est récupérée avec un pull ?

Bon après, ça fait longtemps que je n'ai pas regardé le résultat d'une commande pull, et encore, c'était avec docker-compose pull... ce qui du coup ne doit pas être tout à fait pareil.

Mais alors, tous ces "trucs", sont-ils des composants de l'image qui est récupérée ?

 

Et autre question, est-ce utile de lancer ce script tous les jours ? Vu que la MAJ du certificat n'intervient pas si fréquemment ?

Posté(e)

@MilesTEG1 bonjour,

rien d'anormal à tous ces téléchargements. Une image Docker peut être composée de plusieurs "layers" suivant ce que le concepteur aura décider d'y intégrer.

Quant à la fréquence d’exécution, de mon côté je le fais 1 fois par mois. Je n'ai pas vu d'effet secondaire négatif ...

Cdt, Bruno78

  • 2 semaines après...
Posté(e)
Il y a 4 heures, Einsteinium a dit :

Update ce jour avec dsm 7 rc, toujours aucun soucis de renouvellement 🙂

Je n’ai pas encore eu de phase de renouvellement depuis mon passage à dsm7 , mais le script qui se lance (via le planificateur de tâches) régulièrement fonctionne bien.

Reste à voir dans 2 mois si le certificat est bien renouvelé correctement et qu’il est bien mis au bon endroit enfin pour les bons services.

Posté(e)
il y a 31 minutes, MilesTEG1 a dit :

Je n’ai pas encore eu de phase de renouvellement depuis mon passage à dsm7 , mais le script qui se lance (via le planificateur de tâches) régulièrement fonctionne bien.

Reste à voir dans 2 mois si le certificat est bien renouvelé correctement et qu’il est bien mis au bon endroit enfin pour les bons services.

Y a pas de raison que non, moi il tourne depuis plus de 6 mois maintenant.

Posté(e) (modifié)

Bonsoir, merci pour ce tuto ; hyper simple !!!

meme après le passage à DSM7 RC, pas de problème. Je fais quand même un nettoyage des fichiers certificats tous les mois.

J'ai un petit truc par contre qui m'interroge...

Le compte mentionné dans le fichier de conf, une fois connecté, reste actif alors que j'ai bien activé le logout à 15mn pour les utilisateurs du nas en HTTP.

j'ai cherché s'il existait une commande pour deconnecter le(s) utilisateur(s), mais j'ai fait chou blanc pour le moment...

Une idée ?

Modifié par chapsyl63
  • 2 semaines après...
Posté(e)

Bonjour

Alors après de longue hésitations, je me suis quand même décidé à tester cette solution pour le certificat wilcard.

Malheureusement, j'ai un problème qui ne semble pas encore référencé dans les 11 pages de ce sujet.

Tout s'est bien passé jusqu'au point 2D. Voila le résultat de l’exécution de la commande :

Citation

root@DS716:~# docker exec Acme sh -c "acme.sh --issue --keylength 4096 -d 'xxxx.fr' -d '*.xxxx.fr' --dns dns_ovh"
[Wed Jun 16 15:31:42 UTC 2021] Using CA: https://acme.zerossl.com/v2/DV90
[Wed Jun 16 15:31:42 UTC 2021] Create account key ok.
[Wed Jun 16 15:31:42 UTC 2021] No EAB credentials found for ZeroSSL, let's get one
[Wed Jun 16 15:31:42 UTC 2021] acme.sh is using ZeroSSL as default CA now.
[Wed Jun 16 15:31:42 UTC 2021] Please update your account with an email address first.
[Wed Jun 16 15:31:42 UTC 2021] acme.sh --register-account -m my@example.com
[Wed Jun 16 15:31:42 UTC 2021] See: https://github.com/acmesh-official/acme.sh/wiki/ZeroSSL.com-CA
[Wed Jun 16 15:31:42 UTC 2021] Please check log file for more details: /acme.sh/acme.sh.log

 

J'ai donc fait ce qu'il me demandait, à savoir passer la commande :

Citation

root@DS716:~# docker exec Acme sh -c "acme.sh --register-account -m xxxxxxxx@gmail.com"
[Wed Jun 16 16:15:34 UTC 2021] No EAB credentials found for ZeroSSL, let's get one
[Wed Jun 16 16:15:35 UTC 2021] Registering account: https://acme.zerossl.com/v2/DV90
[Wed Jun 16 16:15:37 UTC 2021] Registered
[Wed Jun 16 16:15:37 UTC 2021] ACCOUNT_THUMBPRINT='rPizG2UDYEdlkhfskdhfkhoByD621gyxU6M9lVg'

Puis j'ai repris le point 2D, qui semble s'être déroulé normalement ...

J'en suis là pour le moment. La suite sera pour demain...

@EinsteiniumIl faudrait peut-être que tu fasses (encore et encore) une mise à jour du tuto ?

Posté(e)
il y a 1 minute, MilesTEG1 a dit :

Dans ta 2ème citation, je masquerais la valeur de ACCOUNT_THUMBPRINT

Pas d'inquiétude, je l'ai largement altérée !!!! 😇

Je suis toujours en DSM 6.2, et je n'avais encore jamais testé ce tuto ... Mais ça avance bien, j'ai mes certificats (mais pas encore déployés...)

Posté(e)
Il y a 5 heures, Kramlech a dit :

Il faudrait peut-être que tu fasses (encore et encore) une mise à jour du tuto ?

Une nouveauté apparemment 🙂

Bon en gros si on ne veut pas de zerossl et toujours passé par LE, il faut rajouté dans le account : DEFAULT_ACME_SERVER='https://acme-v02.api.letsencrypt.org/directory'

Je ferais l’édit demain, sur mobile pas possible 🙂

Posté(e)

Bonjour,

d'après ce que je vois dans les logs, zerossl est apparu pour la première fois lors de l’exécution du script le 14/juin, avec un upgrade en version 3.0.0.

[Mon Jun 14 00:41:00 UTC 2021] ===Starting cron===
[Mon Jun 14 00:41:00 UTC 2021] Using config home:/acme.sh
[Mon Jun 14 00:41:00 UTC 2021] ACME_DIRECTORY='https://acme-v02.api.letsencrypt.org/directory'
[Mon Jun 14 00:41:00 UTC 2021] GET
[Mon Jun 14 00:41:00 UTC 2021] url='https://api.github.com/repos/acmesh-official/acme.sh/git/refs/heads/master'
[Mon Jun 14 00:41:00 UTC 2021] timeout=
[Mon Jun 14 00:41:00 UTC 2021] _CURL='curl --silent --dump-header /acme.sh/http.header  -L '
[Mon Jun 14 00:41:00 UTC 2021] ret='0'
[Mon Jun 14 00:41:00 UTC 2021] Installing from online archive.
[Mon Jun 14 00:41:00 UTC 2021] Downloading https://github.com/acmesh-official/acme.sh/archive/master.tar.gz
[Mon Jun 14 00:41:00 UTC 2021] GET
[Mon Jun 14 00:41:00 UTC 2021] url='https://github.com/acmesh-official/acme.sh/archive/master.tar.gz'
[Mon Jun 14 00:41:00 UTC 2021] timeout=
[Mon Jun 14 00:41:00 UTC 2021] _CURL='curl --silent --dump-header /acme.sh/http.header  -L '
[Mon Jun 14 00:41:01 UTC 2021] ret='0'
[Mon Jun 14 00:41:01 UTC 2021] Extracting master.tar.gz
[Mon Jun 14 00:41:01 UTC 2021] default_acme_server
[Mon Jun 14 00:41:01 UTC 2021] ACME_DIRECTORY='https://acme.zerossl.com/v2/DV90'
[Mon Jun 14 00:41:01 UTC 2021] Skip install cron job
[Mon Jun 14 00:41:01 UTC 2021] Using config home: /acme.sh
[Mon Jun 14 00:41:01 UTC 2021] Installing to /root/.acme.sh
[Mon Jun 14 00:41:02 UTC 2021] Installed to /root/.acme.sh/acme.sh
[Mon Jun 14 00:41:02 UTC 2021] OK
[Mon Jun 14 00:41:02 UTC 2021] Install success!
[Mon Jun 14 00:41:02 UTC 2021] Using config home:/acme.sh
[Mon Jun 14 00:41:02 UTC 2021] ACME_DIRECTORY='https://acme-v02.api.letsencrypt.org/directory'
[Mon Jun 14 00:41:02 UTC 2021] GET
[Mon Jun 14 00:41:02 UTC 2021] url='https://api.github.com/repos/acmesh-official/acme.sh/git/refs/heads/master'
[Mon Jun 14 00:41:02 UTC 2021] timeout=
[Mon Jun 14 00:41:02 UTC 2021] _CURL='curl --silent --dump-header /acme.sh/http.header  -L '
[Mon Jun 14 00:41:02 UTC 2021] ret='0'
[Mon Jun 14 00:41:02 UTC 2021] Upgrade success!
[Mon Jun 14 00:41:02 UTC 2021] Using config home:/acme.sh
[Mon Jun 14 00:41:02 UTC 2021] ACME_DIRECTORY='https://acme-v02.api.letsencrypt.org/directory'
[Mon Jun 14 00:41:02 UTC 2021] Auto upgraded to: 3.0.0

Par contre, le script se déroule ensuite normalement, aucune demande d'enregistrement ni de directive particulière dans le fichier account.

Le log indique clairement la directive suivante sans que je ne lui ai rien demandé explicitement

ACME_DIRECTORY='https://acme-v02.api.letsencrypt.org/directory'

Le script se termine ensuite normalement (en arrêt puisque date de renouvellement non atteinte, je n'ai pas fais le -force).

Comportement identique sur 4 domaines utilisant cette même méthode .

Bruno78

Posté(e)

salut 👋🏻

[Thu Jun 17 00:41:00 UTC 2021] Running cmd: cron
[Thu Jun 17 00:41:01 UTC 2021] Using config home:/acme.sh
[Thu Jun 17 00:41:01 UTC 2021] default_acme_server
[Thu Jun 17 00:41:01 UTC 2021] ACME_DIRECTORY='https://acme.zerossl.com/v2/DV90'
[Thu Jun 17 00:41:01 UTC 2021] ===Starting cron===
[Thu Jun 17 00:41:01 UTC 2021] Using config home:/acme.sh
[Thu Jun 17 00:41:01 UTC 2021] ACME_DIRECTORY='https://acme.zerossl.com/v2/DV90'
[Thu Jun 17 00:41:01 UTC 2021] GET
[Thu Jun 17 00:41:01 UTC 2021] url='https://api.github.com/repos/acmesh-official/acme.sh/git/refs/heads/master'
[Thu Jun 17 00:41:01 UTC 2021] timeout=
[Thu Jun 17 00:41:01 UTC 2021] _CURL='curl --silent --dump-header /acme.sh/http.header  -L '
[Thu Jun 17 00:41:01 UTC 2021] ret='0'
[Thu Jun 17 00:41:01 UTC 2021] Already uptodate!
[Thu Jun 17 00:41:01 UTC 2021] Upgrade success!
[Thu Jun 17 00:41:01 UTC 2021] Using config home:/acme.sh
[Thu Jun 17 00:41:01 UTC 2021] ACME_DIRECTORY='https://acme.zerossl.com/v2/DV90'
[Thu Jun 17 00:41:01 UTC 2021] Auto upgraded to: 3.0.0
[Thu Jun 17 00:41:01 UTC 2021] Using config home:/acme.sh
[Thu Jun 17 00:41:01 UTC 2021] ACME_DIRECTORY='https://acme.zerossl.com/v2/DV90'
[Thu Jun 17 00:41:01 UTC 2021] _stopRenewOnError
[Thu Jun 17 00:41:01 UTC 2021] _set_level='2'
[Thu Jun 17 00:41:01 UTC 2021] di='/acme.sh/mon-ndd.tld/'
[Thu Jun 17 00:41:01 UTC 2021] d='mon-ndd.tld'
[Thu Jun 17 00:41:01 UTC 2021] Using config home:/acme.sh
[Thu Jun 17 00:41:01 UTC 2021] ACME_DIRECTORY='https://acme.zerossl.com/v2/DV90'
[Thu Jun 17 00:41:01 UTC 2021] DOMAIN_PATH='/acme.sh/mon-ndd.tld'
[Thu Jun 17 00:41:01 UTC 2021] Renew: 'mon-ndd.tld'
[Thu Jun 17 00:41:01 UTC 2021] Le_API='https://acme-v02.api.letsencrypt.org/directory'
[Thu Jun 17 00:41:01 UTC 2021] Using config home:/acme.sh
[Thu Jun 17 00:41:01 UTC 2021] ACME_DIRECTORY='https://acme-v02.api.letsencrypt.org/directory'
[Thu Jun 17 00:41:01 UTC 2021] Skip, Next renewal time is: Fri Jul 16 18:13:24 UTC 2021
[Thu Jun 17 00:41:01 UTC 2021] Add '--force' to force to renew.
[Thu Jun 17 00:41:01 UTC 2021] Return code: 2
[Thu Jun 17 00:41:01 UTC 2021] Skipped mon-ndd.tld
[Thu Jun 17 00:41:01 UTC 2021] _error_level='3'
[Thu Jun 17 00:41:01 UTC 2021] _set_level='2'
[Thu Jun 17 00:41:01 UTC 2021] ===End cron===

Du coup, je ne sais pas si c'est OK ou s'il y a une erreur...

Posté(e)

Bah ça dit juste que le renouvellement se fera le 16 juillet pas avant, donc c'est bon.

Avantage notable de ZeroSSL par rapport à Let's Encrypt : plus de limite hebdomadaire de demande de certificat.

Posté(e)
Il y a 9 heures, bruno78 a dit :

d'après ce que je vois dans les logs, zerossl est apparu pour la première fois lors de l’exécution du script le 14/juin, avec un upgrade en version 3.0.0. 

La même chose, je suis repassé par l’api LE de base, pourquoi changer ce qui marche bien, et puis cela évite un tier, certainement un partenariat a coup de billet vert.

Posté(e)

Quelques explications ici : https://github.com/acmesh-official/acme.sh/wiki/Change-default-CA-to-ZeroSSL

Où il est notamment précisé :

  • Starting from August-1st 2021, acme.sh will release v3.0, in which the default CA will use ZeroSSL instead.
  • This change will only affect the newly created(issued) certs after August-1st (with v3.0), any pre-existing certs will still be renewed automatically aginst the current CA.

 

Posté(e) (modifié)

Il faudrait donc utiliser cette commande pour garder LE en fournisseur :

acme.sh --set-default-ca  --server  letsencrypt

enfin pour les nouveau certificats 🙂 ou pour les nouveaux utilisateurs.

 

on va voir comment @Einsteiniumva mettre à jour son tuto 😇

Modifié par MilesTEG1
Posté(e)

Dernier retour d'expérience : en ajoutant la ligne :

DEFAULT_ACME_SERVER='https://acme-v02.api.letsencrypt.org/directory'

dans le fichier account.conf, tout fonctionne correctement.

Prochain retour : vers mi septembre pour vérifier si le renouvellement s'est bien effectué...

Posté(e) (modifié)

Je ne pense pas que l'ordre ait une grande importance.

Voici la séquence de mon fichier account.conf :

image.png.cc0877df9fa6bda65d4c7d9f76fb1f5c.png

Modifié par Kramlech
Posté(e)

@Kramlech Merci 🙂

Tiens en comparant mon fichier et le tiens, je vois que tu as une ligne que je n'ai pas :
UPGRADE_HASH

À quoi ça sert ? Si je ne l'ai pas c'est que je ne l'ai pas vu dans le tuto... qu'est-ce qui te l'a fait ajouter ?

edit : haaa, en fait j'ai bien cette ligne sur le NAS (pas sur mon ordi)... Elle a du être ajouté par un des scripts car je ne me souvient pas de l'avoir ajouté...

Posté(e)

Voilà update fait, donc pour ceux qui n'ont pas eu d'update entre le 14 juin (date d'ajout) et la modification du account à faire, aucun changement, sinon vous basculerez vers zerosll au prochain update...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.