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

Ich habe das Script nochmal überarbeitet … hier die aktuelle Version.

#!/bin/bash
#set -x

#######################################################################################################
# Scriptname :    LE_server_crt.sh 
# Author     :    Michael Hagedorn
# Date       :    2020-27-02
# Category   :    geeignet für linuxmuster 7.x
#Version     :
VER='1.1'

# 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>"
short="server"
#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

#Safety first:
mv $bundlename $bundlename.old
mv $short.* ./backup/
mv cacert.crt ./backup/
mv cacert.pem ./backup/
mv fullchain.cer ./backup/

#RSA-Key und Cert kopieren und zu einer Datei zusammenfügen. 
#Anschließend Rechte aender und Service neu starten
scp firewall:/var/etc/acme-client/home/$hosts/$hosts.cer ./$short.cert.pem
scp firewall:/var/etc/acme-client/home/$hosts/$hosts.csr ./$short.csr
scp firewall:/var/etc/acme-client/home/$hosts/$hosts.key ./$short.key.pem
scp firewall:/var/etc/acme-client/home/$hosts/ca.cer ./cacert.crt
scp firewall:/var/etc/acme-client/home/$hosts/ca.cer ./cacert.pem
scp firewall:/var/etc/acme-client/home/$hosts/fullchain.cer .

chmod 600 $short.key.pem
chmod 640 cacert.crt cacert.pem $short.cert.pem $short.csr fullchain.cer
chown root:ssl-cert $short.* cacert.* fullchain.cer

# Reihenfolge entscheidend! Vgl.: https://blog.syseleven.de/zertifikate-und-zertifikatsketten/
cat fullchain.cer $short.key.pem> $bundlename
chown root:ssl-cert $bundlename
systemctl restart linuxmuster-webui

#EOF
1 „Gefällt mir“