ajenti-Server / WebUI gültiges LE-Zertifikat geben (HowTo)

Hallo Arnaud.
Super – danke!
Da das so einfach ist, habe ich ein kleines Script geschrieben, das mir das Zertifkat von der OPNSense-FW holt. So geht es hier am schnellsten und ich muss den Reverse Proxy nicht weiter konfigurieren.

Vielleicht kann’s jemand gebrauchen (ich ändere daher den Betreff wie üblich zu „HowTo“):

#!/bin/bash
#set -x

#######################################################################################################
# Scriptname :    LE_server_crt.sh 
# Author     :    Michael Hagedorn
# Date       :    2019-22-11
# Category   :    geeignet für linuxmuster 7.x
#Version     :
VER='1.0'

# Dieses Script holt ein (gültiges) LE-Zertifikat per scp von der OPNSense-FW und legt es auf
# dem lmn.70-Server ab. Anschließend wird die WebUI neu gestartet, so dass eine gesicherte
# Verbindung zum Server mit gültigem Zertifikat möglich ist.

# Die hier verwendeten Pfade setzen voraus, dass die LE-Zertifikate von der OPNSense-FW
# selbst verwaltet werden. 
# Voraussetzung ist zudem, dass der passwortlose Zugang vom Server zur Firewall funktioniert (default)
# Das Script muss auf dem lmn.70-Server laufen und kann per cronjob aufgerufen werden.
#########################################################################################################

#Variablen:
certs="/etc/linuxmuster/ssl"
hosts="server.<hier_deine_domain_eintragen.de>"
#Der Name ist in der WebUI eingetragen (Login als global-admin) --> Einstellungen --> Globale Einstellungen 
bundlename="server.cert.bundle.pem"

#Scriptpfad (kann auskommentiert werden):
filename="${0##*/}"
scriptpath=`pwd -P`
echo "Script: $scriptpath/$filename "
echo

#Let's go:
cd $certs

#RSA-Key und Cert kopieren und zu einer Datei zusammenfügen. 
#Anschließend Rechte aendern und Service neu starten
scp firewall:/var/etc/acme-client/home/$hosts/$hosts.key .
scp firewall:/var/etc/acme-client/home/$hosts/$hosts.cer .
chmod 600 $hosts.*
cp $bundlename $bundlename.old
cat $hosts.key $hosts.cer > $bundlename
chown root:ssl-cert $bundlename
systemctl restart linuxmuster-webui

# Die https:// Verbindung zum Server sollte jetzt ein gültiges Zertifkat haben
# und keine Warnung mehr ausgeben!

#EOF

(Ergänzung: Das Verfahren ist natürlich nur dann sinnvoll, wenn man für den Server einen FQDN gewählt hat…)

Schöne Grüße,
Michael