Let’s Encrypt Zertifikat automatisch erneuern lassen

0
1128
geralt / Pixabay

Das ist auf Uberspace recht leicht. Hierzu wird zuerst für einen reibungslosen Abaluf die .config/letsencrypt/cli.ini angepasst, um später nicht wieder nach den Terms of Service gefragt zu werden. Hier ist das alles recht gut im Uberspace-Wiki beschrieben.

cat >> ${HOME}/.config/letsencrypt/cli.ini <<__EOF__

# To prevent being forced to agree manually to the terms
agree-tos = True

__EOF__

Ein neues Script wird vorbreitet.

domain=$(grep -e "[ \t]*domains.*" ~/.config/letsencrypt/cli.ini| sed "s/ //g" |cut -d "=" -f2 | cut -d "," -f1)

Dazu wird in die nun neu erstellte Datei /bin/letsencrypt-renew Folgendes noch angefügt.

cat > ${HOME}/bin/letsencrypt-renew <<__EOF__
#!/bin/bash
PATH=$PATH

# sleep for a random time so not all certificates get renewed at the same time
sleep $(expr $RANDOM % 600)

openssl x509 -checkend $(( 10 * 86400 )) -in ~/.config/letsencrypt/live/${domain}/cert.pem > /dev/null

if [ \$? != 0 ]; then
	# run let's encrypt
	letsencrypt certonly
	# import certificate
	uberspace-add-certificate -k ~/.config/letsencrypt/live/${domain}/privkey.pem -c ~/.config/letsencrypt/live/${domain}/cert.pem
fi

__EOF__

Mit Ctrl + o und Enter speicher und mit Ctrl + x den Editor verlassen. Diese wird dann ausführbar gemacht.

chmod +x ${HOME}/bin/letsencrypt-renew

Das Anlegen eines Cronjob sorgt dann in diesem Fall dafür, dass das Script nun wöchentlich ausgeführt wird.

crontab -e

Dieser Inhalt wird eingetragen.

@weekly ~/bin/letsencrypt-renew

und mit Ctrl + o und Enter gespeichert. Mit Ctrl + x verlässt man den Editor.

Um zu regelmäßig zu checken ob und wann das Zertifikat theoretisch auslaufen würde, kann folgender Befehl ausgeführt werden.

uberspace-list-certificates

 

Kommentieren Sie den Artikel

Bitte bestätige diesen Kommentar!
Bitte den Namen hier eingeben

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.