Acme.sh - Certificats Let’s Encrypt
Pour interagir avec l’API de Let’s Encrypt et obtenir un certificat, un logiciel appelé « client ACME » est nécessaire.
Acme.sh
Let’s Encrypt délivre des certificats par le biais d’une API automatisée basée sur le protocole ACME.
Certificats Let’s Encrypt

Automatiser la génération et le renouvellement des certificats de chiffrement avec acme.sh
Les dossiers
1
2
sudo mkdir -p /etc/ssl/private/
sudo chown $USER -R /etc/ssl/private/
Prérequis:
cron(sudo apt install cron) Non installé par défaut sur debian 13
Sur Debian 13, cron s’installe avecexim4, ce qui pose problème si vous voulez utiliser le port 25 avec un autre serveur de messagerie comme maddy ou autre
Installer acme.sh
1
2
3
4
# Git
git clone https://github.com/acmesh-official/acme.sh.git
cd ./acme.sh
./acme.sh --install
déconnexion et reconnexion utilisateur pour la prise en charge
Vérifier : acme.sh --version
1
2
https://github.com/acmesh-official/acme.sh
v3.1.2
La création des certificats pour le domaine rnmkcy.eu
Exporter les clés OVH
1
2
export OVH_AK="xxxxxxxxxxxxxxxxxx"
export OVH_AS="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
exécuter le script
1
acme.sh --dns dns_ovh --server letsencrypt --issue --keylength ec-384 -d 'rnmkcy.eu' -d '*.rnmkcy.eu'
Premier passage, il faut ouvrir le lien pour valider la DNS OVH
Puis exécuter une seconde fois le script
1
acme.sh --dns dns_ovh --server letsencrypt --issue --keylength ec-384 -d 'rnmkcy.eu' -d '*.rnmkcy.eu'
A la fin de l’exécution du script
1
2
3
4
[lun. 03 nov. 2025 11:27:44 CET] Your cert is in: /home/yick/.acme.sh/rnmkcy.eu_ecc/rnmkcy.eu.cer
[lun. 03 nov. 2025 11:27:44 CET] Your cert key is in: /home/yick/.acme.sh/rnmkcy.eu_ecc/rnmkcy.eu.key
[lun. 03 nov. 2025 11:27:44 CET] The intermediate CA cert is in: /home/yick/.acme.sh/rnmkcy.eu_ecc/ca.cer
[lun. 03 nov. 2025 11:27:44 CET] And the full-chain cert is in: /home/yick/.acme.sh/rnmkcy.eu_ecc/fullchain.cer
L’installation dans les dossiers
1
2
3
4
acme.sh --install-cert -d rnmkcy.eu --ecc \
--key-file /etc/ssl/private/rnmkcy.eu-key.pem \
--fullchain-file /etc/ssl/private/rnmkcy.eu-fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"
Avec le résultat suivant
1
2
3
4
[lun. 03 nov. 2025 11:32:45 CET] Installing key to: /etc/ssl/private/rnmkcy.eu-key.pem
[lun. 03 nov. 2025 11:32:45 CET] Installing full chain to: /etc/ssl/private/rnmkcy.eu-fullchain.pem
[lun. 03 nov. 2025 11:32:45 CET] Running reload cmd: sudo systemctl reload nginx.service
[lun. 03 nov. 2025 11:32:45 CET] Reload successful
Renouvellement automatique
Le cron job
1
11 4 * * * "/home/yick/.acme.sh"/acme.sh --cron --home "/home/yick/.acme.sh" > /dev/null
Lors de l’exécution
--cron, tout nouveau certificat sera automatiquement installé, et lereloadcmdsera exécuté.
--cron installera automatiquement les certificats sur les informations de renouvellement réussies.
Il semble se baser sur la dernière fois que vous avez exécuté --install-cert, alors assurez-vous que vous exécutez manuellement au moins une fois pour être sûr que cron job fonctionnera comme prévu.

