Letsencrypt
Raspberry PI: SSH mit Letsencrypt einrichten
Wer einen Webserver auf den Raspberry über das Internet verfügbar macht, wird sicher seine Seite auf https:// umstellen wollen, damit empfindliche Daten verschlüsselt übermittelt werden. Hier kommt Letsencrypt ins Spiel und Letsencrypt ist dabei noch völlig kostenlos.
Sollte bereits WordPress auf dem Server laufen, bedenke bitte, dass du nach der Umstellung auf https möglicherweise keinen Zugriff mehr auf dein WordPress hast. Das liegt daran, dass die Seiten-URL in der WordPress-Config nicht mehr stimmt. Die URL kann aber mit PhpMyadmin in der Datenbank geändert werden. (Datenbank ändern)
Einrichtung: (Apache Webserver)
Wir beginnen damit, dem Apacheserver zu stoppen
sudo service apache2 stop |
Zuerst muss Certbot installiert werden. Dabei handelt es sich um ein Script zum installieren und aktualisieren von Letsensctypt.
sudo apt-get install python-certbot-apache |
Certbot bietet Installationsassistenten für verschiedene Webserver an. Um Letsencript für den Apache zu installieren, starten wir Certbot wie folgt
sudo certbot –apache |
Nachdem noch ein paar Fragen beantwortet wurden wird das SSL-Zertifikat erstellt, das dann für 90 Tage gültig ist. Um nicht alle 90 Tage daran denken zu müssen, das Zertifikat zu verlängern, kann das über ein Cronjob automatisiert werden.
Cronjob erstellen
Zuerst muss ein kleines Script angelegt werden, das durch den Cronjob gestartet wird.
nano /home/user/renew-certs.sh |
In die Datei wird Folgendes eingefügt:
#! /bin/bash
certbot renew -q
Mit „strg + o“ wird die Datei gespeichert und mit „strg + x“ wird der Editor Nano geschlossen
Jetzt muss das Script noch ausführbar gemacht werden
chmod +x /home/user/renew-certs.sh |
Nun wird der Cronjob erstellt
crontab -e |
Am Ende der Datei muss z.B. folgendes eingetragen werden
*2*** /home/user/renew-certs.sh |
Jetzt wird jede Nacht um 02 Uhr das Zertifikat überprüft. Sollte es abgelaufen sein, wird es sofort erneuert und ist wieder für 90 Tage gültig
Der Apache-Server kann jetzt wieder gestartet werden
sudo /etc/init.d/apache2 start |