Script zur Zertifikatsverlängerung x Tage vor ablauf
Hallo,
ich würde gerne mein LetsEncrypt Zertifikat automatisch verlängern lassen bevor dieses abläuft.
Das einfachste für mich wäre, da noch einige andere Dinge passieren nachdem das Zertifikat verlängert wurde, wenn es in meinem Script integriert wäre.
Beim ausführen von certbot certificates bekomme ich folgendes geliefert:
Meine Idee wäre jetzt irgendwie mit grep die 58 Tage auszulesen und dann ein if X weniger als 7 Tage dann.... Allerdings habe ich keine Ahnung wie das aussehen müsste damit er nur diese Zahl nimmt. Außerdem müsste "Saving debug log to /var/log/letsencrypt/letsencrypt.log" ignoriert werden, dass schreibt er jedesmal mit bevor er überhaupt den rest darstellt.
Vielleicht denke ich aber auch nur wieder zu kompliziert und jemand hat eine einfachere Idee, sollte aber nach Möglichkeit auch als Zusatz im Script möglich sein.
ich würde gerne mein LetsEncrypt Zertifikat automatisch verlängern lassen bevor dieses abläuft.
Das einfachste für mich wäre, da noch einige andere Dinge passieren nachdem das Zertifikat verlängert wurde, wenn es in meinem Script integriert wäre.
Beim ausführen von certbot certificates bekomme ich folgendes geliefert:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
-------------------------------------------------------------------------------
Found the following certs:
Certificate Name: domain.de
Domains: domain.de
Expiry Date: 2018-09-29 06:40:34+00:00 (VALID: 58 days)
Certificate Path: /share/CACHEDEV1_DATA/.qpkg/Certbot/live/domain.de/fullchain.pem
Private Key Path: /share/CACHEDEV1_DATA/.qpkg/Certbot/live/domain.de/privkey.pem
-------------------------------------------------------------------------------
Meine Idee wäre jetzt irgendwie mit grep die 58 Tage auszulesen und dann ein if X weniger als 7 Tage dann.... Allerdings habe ich keine Ahnung wie das aussehen müsste damit er nur diese Zahl nimmt. Außerdem müsste "Saving debug log to /var/log/letsencrypt/letsencrypt.log" ignoriert werden, dass schreibt er jedesmal mit bevor er überhaupt den rest darstellt.
Vielleicht denke ich aber auch nur wieder zu kompliziert und jemand hat eine einfachere Idee, sollte aber nach Möglichkeit auch als Zusatz im Script möglich sein.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 381987
Url: https://administrator.de/contentid/381987
Ausgedruckt am: 24.11.2024 um 22:11 Uhr
7 Kommentare
Neuester Kommentar
Moin,
was spricht dagegen,
in einen Cron zu packen, der täglich durchläuft? Letsencrypt verlängert dann automatisch, sowie das Cert fällig ist.
An die Zeile hängst du dann noch ein >/dev/null ran, damit der Log in die Tonne geht, was ich persönlich nicht machen würde.
Außerdem wäre es ganz nett, wenn nächstes mal ein paar Infos zu deiner Umgebung kommen. Ich habe jetzt linux erraten, weil du /var/log/ geschrieben hast.
Gruß, V
was spricht dagegen,
/opt/letsencrypt/letsencrypt-auto renew
in einen Cron zu packen, der täglich durchläuft? Letsencrypt verlängert dann automatisch, sowie das Cert fällig ist.
An die Zeile hängst du dann noch ein >/dev/null ran, damit der Log in die Tonne geht, was ich persönlich nicht machen würde.
Außerdem wäre es ganz nett, wenn nächstes mal ein paar Infos zu deiner Umgebung kommen. Ich habe jetzt linux erraten, weil du /var/log/ geschrieben hast.
Gruß, V
Hallo Bugger,
Certbot kann das doch builtin: ./certbot-auto renew
Vorher den Webserver stoppen und danach starten.
In das gleiche Script könntest du ja die anderen Sachen inkludieren. Dazu könnte man die Hashwerte des Certs vorher und nachher vergleichen und danach entsprechen losrennen.
Oder habe ich da was missverstanden?
VG
T
Edit: Voiper war schneller
Certbot kann das doch builtin: ./certbot-auto renew
Vorher den Webserver stoppen und danach starten.
In das gleiche Script könntest du ja die anderen Sachen inkludieren. Dazu könnte man die Hashwerte des Certs vorher und nachher vergleichen und danach entsprechen losrennen.
Oder habe ich da was missverstanden?
VG
T
Edit: Voiper war schneller
Cronjob täglich um 22 Uhr laufen lassen:
check_cert_age.sh
Täglich ein Script losschicken, was das Alter (89 Tage) des Certs prüft und bei Bedarf den Renew macht.
Habe keine Linuxkiste hier, bitte auf Tippfehler prüfen.
Edit noch: Bei mir auf den iOS und Android Geräten wird Lets Encrypt als Trusted angesehen. Hast du das Zertifikat richtig eingebaut?
0 22 * * 0 user /PfadzumScript/check_cert_age.sh
check_cert_age.sh
$cert_file="PfadzumCert/Cert.pfx"
if [[ $(find $cert_file -mtime +89 -print) ]]; then
/PfadzumCertbot/certbot-auto renew
fi
Täglich ein Script losschicken, was das Alter (89 Tage) des Certs prüft und bei Bedarf den Renew macht.
Habe keine Linuxkiste hier, bitte auf Tippfehler prüfen.
Edit noch: Bei mir auf den iOS und Android Geräten wird Lets Encrypt als Trusted angesehen. Hast du das Zertifikat richtig eingebaut?