SSL Zertifikat mit LetsEncrypt (Linux): Unterschied zwischen den Versionen

Aus Tutorials
Zur Navigation springen Zur Suche springen
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 51: Zeile 51:
<pre>
<pre>
#!/bin/bash
#!/bin/bash
#echo `export` | mail -s "Variables of \"renew_ssl_letsencrypt.sh\"" martin@kirner.or.at;


/opt/certbot/certbot-auto renew --quiet --no-self-upgrade 2>&1 | tee /home/pi/logs/letsencrypt_today.log >> /home/pi/logs/letsencrypt.log
/opt/certbot/certbot-auto renew --quiet --no-self-upgrade 2>&1 | tee /home/pi/logs/letsencrypt_today.log >> /home/pi/logs/letsencrypt.log
Zeile 63: Zeile 61:
fi
fi
</pre>
</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 69: 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]
[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 [[Ubuntu#L (Client)|Ubuntu]]
Zurück zu [[LetsEncrypt (Linux)|LetsEncrypt]]

Aktuelle Version vom 3. März 2020, 19: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://letsencrypt.org/

https://certbot.eff.org/

https://certbot.eff.org/docs/using.html#apache

https://certbot.eff.org/docs/using.html#where-are-my-certificates


Zurück zu LetsEncrypt