SSL Zertifikat mit LetsEncrypt (Linux): Unterschied zwischen den Versionen
(→Links) |
|||
(26 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Cerbot Client == | |||
== | === Installation === | ||
<pre> | <pre> | ||
Zeile 11: | Zeile 10: | ||
sudo ./certbot-auto | sudo ./certbot-auto | ||
</pre> | </pre> | ||
=== Zertifikate erstellen === | |||
<pre> | <pre> | ||
sudo /opt/certbot/certbot-auto --apache certonly | sudo /opt/certbot/certbot-auto --apache certonly | ||
</pre> | </pre> | ||
Wenn mehr als ein Subdomain ausgewählt wurde, dann wird das Zertifikat mit mehreren ''Alternative names'' erstellt. | |||
=== Zertifikate in Apache integrieren === | |||
In der Apache Konfigurationsdatei ''/etc/apache2/sites-available/<domain>-ssl.conf'' folgende Zeilen hinzufügen / anpassen: | |||
<pre> | |||
SSLEngine on | |||
SSLCertificateFile /etc/letsencrypt/live/<domain>/fullchain.pem | |||
SSLCertificateKeyFile /etc/letsencrypt/live/<domain>/privkey.pem | |||
</pre> | |||
=== Zertifikate erneuern === | |||
Zertifikatserneuerung testen: | |||
<pre> | |||
sudo /opt/certbot/certbot-auto renew --dry-run | |||
</pre> | |||
Als CronJob einrichten: | |||
<pre> | |||
0 9 * * * /opt/certbot/certbot-auto renew --quiet --no-self-upgrade | |||
</pre> | |||
==== Skript ==== | |||
Datei öffnen | |||
<pre> | |||
sudo vi /usr/local/bin/renew_ssl_letsencrypt.sh | |||
</pre> | |||
und mit folgenden Inhalt befüllen: | |||
<pre> | |||
#!/bin/bash | |||
/opt/certbot/certbot-auto renew --quiet --no-self-upgrade 2>&1 | tee /home/pi/logs/letsencrypt_today.log >> /home/pi/logs/letsencrypt.log | |||
if [ ${PIPESTATUS[0]} -eq 0 ] | |||
then | |||
echo "Let's encrypt certificate sucessfully updated..." | mail -s "Let's encrypt successfully updated on `date +\"%d.%m.%Y um %H:%M\"`" <mail address>; | |||
else | |||
cat /home/pi/logs/letsencrypt_today.log | mail -s "Let's encrypt update on `date +\"%d.%m.%Y um %H:%M\"` failed" <mail address>; | |||
fi | |||
</pre> | |||
Obenstehendes Script hat bei mir nur bei manuellen Aufruf funktioniert, jedoch nicht als CronJob. | |||
Da auch die Umgebungsvariablen augenscheinlich richtig waren, habe ich folgende Skripte hinzugefügt: | |||
Das erste Skript aktualisiert den Server und startet in danach neu: | |||
<pre> | |||
sudo vi /usr/local/bin/update_and_restart.sh | |||
</pre> | |||
<pre> | |||
#!/bin/bash | |||
sudo apt-get update && sudo apt-get -y upgrade | |||
sudo shutdown -r now | |||
</pre> | |||
und das zweite Skript ruft das ursprüngliche Erneuerungsskript über einen Login auf: | |||
<pre> | |||
sudo vi /usr/local/bin/renew_ssl_letsencrypt.sh | |||
</pre> | |||
<pre> | |||
#!/bin/bash | |||
ssh localhost -p 22 -l pi -i /home/pi/.ssh/id_rsa -tt "sudo /usr/local/bin/renew_ssl_letsencrypt.sh" 2>&1 > /dev/null; | |||
</pre> | |||
Seitdem funkioniert das Erneuern des Zertifikates. | |||
== Wildcard-Zertifikate == | |||
Siehe [[Wildcard-Zertifikate (LetsEncrypt)|Wildcard-Zertifikate]] | |||
== Probleme == | |||
=== CRITICAL:certbot.auth_handler:Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA. === | |||
[https://community.letsencrypt.org/t/how-to-stop-using-tls-sni-01-with-certbot/83210 https://community.letsencrypt.org/t/how-to-stop-using-tls-sni-01-with-certbot/83210] | |||
== Links == | == Links == | ||
Zeile 21: | Zeile 109: | ||
[https://certbot.eff.org/ https://certbot.eff.org/] | [https://certbot.eff.org/ https://certbot.eff.org/] | ||
[https://certbot.eff.org/docs/using.html#apache https://certbot.eff.org/docs/using.html#apache] | |||
[https://certbot.eff.org/docs/using.html#where-are-my-certificates https://certbot.eff.org/docs/using.html#where-are-my-certificates] | |||
Zurück zu [[ | Zurück zu [[LetsEncrypt (Linux)|LetsEncrypt]] |
Aktuelle Version vom 3. März 2020, 18:47 Uhr
Cerbot Client
Installation
sudo mkdir /opt/certbot cd /opt/certbot sudo wget https://dl.eff.org/certbot-auto sudo chmod a+x certbot-auto sudo ./certbot-auto
Zertifikate erstellen
sudo /opt/certbot/certbot-auto --apache certonly
Wenn mehr als ein Subdomain ausgewählt wurde, dann wird das Zertifikat mit mehreren Alternative names erstellt.
Zertifikate in Apache integrieren
In der Apache Konfigurationsdatei /etc/apache2/sites-available/<domain>-ssl.conf folgende Zeilen hinzufügen / anpassen:
SSLEngine on SSLCertificateFile /etc/letsencrypt/live/<domain>/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/<domain>/privkey.pem
Zertifikate erneuern
Zertifikatserneuerung testen:
sudo /opt/certbot/certbot-auto renew --dry-run
Als CronJob einrichten:
0 9 * * * /opt/certbot/certbot-auto renew --quiet --no-self-upgrade
Skript
Datei öffnen
sudo vi /usr/local/bin/renew_ssl_letsencrypt.sh
und mit folgenden Inhalt befüllen:
#!/bin/bash /opt/certbot/certbot-auto renew --quiet --no-self-upgrade 2>&1 | tee /home/pi/logs/letsencrypt_today.log >> /home/pi/logs/letsencrypt.log if [ ${PIPESTATUS[0]} -eq 0 ] then echo "Let's encrypt certificate sucessfully updated..." | mail -s "Let's encrypt successfully updated on `date +\"%d.%m.%Y um %H:%M\"`" <mail address>; else cat /home/pi/logs/letsencrypt_today.log | mail -s "Let's encrypt update on `date +\"%d.%m.%Y um %H:%M\"` failed" <mail address>; fi
Obenstehendes Script hat bei mir nur bei manuellen Aufruf funktioniert, jedoch nicht als CronJob. Da auch die Umgebungsvariablen augenscheinlich richtig waren, habe ich folgende Skripte hinzugefügt:
Das erste Skript aktualisiert den Server und startet in danach neu:
sudo vi /usr/local/bin/update_and_restart.sh
#!/bin/bash sudo apt-get update && sudo apt-get -y upgrade sudo shutdown -r now
und das zweite Skript ruft das ursprüngliche Erneuerungsskript über einen Login auf:
sudo vi /usr/local/bin/renew_ssl_letsencrypt.sh
#!/bin/bash ssh localhost -p 22 -l pi -i /home/pi/.ssh/id_rsa -tt "sudo /usr/local/bin/renew_ssl_letsencrypt.sh" 2>&1 > /dev/null;
Seitdem funkioniert das Erneuern des Zertifikates.
Wildcard-Zertifikate
Siehe Wildcard-Zertifikate
Probleme
CRITICAL:certbot.auth_handler:Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.
https://community.letsencrypt.org/t/how-to-stop-using-tls-sni-01-with-certbot/83210
Links
https://certbot.eff.org/docs/using.html#apache
https://certbot.eff.org/docs/using.html#where-are-my-certificates
Zurück zu LetsEncrypt