• Wenn ich mit @Nico über Let's Encrypt und den certbot unterhalte, ich habe da schon länger ein Berechtigungsproblem, kommt immer ganz trocken acme.sh

    Ok, dann beschäftige ich mich mal kurz damit.

    Voraussetzungen

    apt install socat
    

    Zertifikate werden von Let's Encrypt abgeholt.

    Installation

    git clone https://github.com/acmesh-official/acme.sh.git
    cd acme.sh
    ./acme.sh --install
    

    Zertifikat registrieren

    root@:~# acme.sh --server letsencrypt --standalone --issue -d example.com
    [Sun 31 Jul 2022 08:52:03 AM CEST] Using CA: https://acme-v02.api.letsencrypt.org/directory
    [Sun 31 Jul 2022 08:52:03 AM CEST] Standalone mode.
    [Sun 31 Jul 2022 08:52:03 AM CEST] Single domain='example.com'
    [Sun 31 Jul 2022 08:52:03 AM CEST] Getting domain auth token for each domain
    [Sun 31 Jul 2022 08:52:05 AM CEST] Getting webroot for domain='example.com'
    [Sun 31 Jul 2022 08:52:05 AM CEST] Verifying: example.com
    [Sun 31 Jul 2022 08:52:05 AM CEST] Standalone mode server
    [Sun 31 Jul 2022 08:52:07 AM CEST] Pending, The CA is processing your order, please just wait. (1/30)
    [Sun 31 Jul 2022 08:52:10 AM CEST] Success
    [Sun 31 Jul 2022 08:52:10 AM CEST] Verify finished, start to sign.
    [Sun 31 Jul 2022 08:52:10 AM CEST] Lets finalize the order.
    [Sun 31 Jul 2022 08:52:10 AM CEST] Le_OrderFinalize='https://acme-v02.api.letsencrypt.org/acme/finalize/xxxxxx/xxxxxxx'
    [Sun 31 Jul 2022 08:52:11 AM CEST] Downloading cert.
    [Sun 31 Jul 2022 08:52:11 AM CEST] Le_LinkCert='https://acme-v02.api.letsencrypt.org/acme/cert/xxxxxxxxxxxxxxxxxxx'
    [Sun 31 Jul 2022 08:52:12 AM CEST] Cert success.
    -----BEGIN CERTIFICATE-----
    
    -----END CERTIFICATE-----
    [Sun 31 Jul 2022 08:52:12 AM CEST] Your cert is in: /root/.acme.sh/example.com/example.com.cer
    [Sun 31 Jul 2022 08:52:12 AM CEST] Your cert key is in: /root/.acme.sh/example.com/example.com.key
    [Sun 31 Jul 2022 08:52:12 AM CEST] The intermediate CA cert is in: /root/.acme.sh/example.com/ca.cer
    [Sun 31 Jul 2022 08:52:12 AM CEST] And the full chain certs is there: /root/.acme.sh/example.com/fullchain.cer
    

    Zertifikat installieren

     root@:~/.acme.sh# acme.sh --install-cert -d example.com --cert-file /path/cert.pem --key-file /path/key.pem --fullchain-file path/fullchain.pem --reloadcmd "systemctl restart server.service"
    

    Dabei sind ein paar Dinge wichtig. Die originalen Zertifikatsdateien soll man nicht benutzen, dazu gibt es den --install-cert Befehl.

    Die Benutzerrechte des Zielordners werden beibehalten!

    https://github.com/acmesh-official/acme.sh#3-install-the-cert-to-apachenginx-etc

    Dienst oder Webhost anpassen

    Das ist ein Beispiel, wie ich den REST-Server von Restic starte. Auskommentiert ist vorher, die Zeile danach mit den Zertifikaten die von acme.sh erzeugt wurden.

    #ExecStart=/usr/local/bin/rest-server --private-repos --tls --tls-cert /etc/letsencrypt/live/example.com/fullchain.pem --tls-key /etc/letsencrypt/live/example.com/privkey.pem --path /mnt/rest-server
    ExecStart=/usr/local/bin/rest-server --private-repos --tls --tls-cert /path/example.com/fullchain.pem --tls-key /pace/example.com/key.pem --path /mnt/rest-server
    

    Done!

    @Nico Danke 😉


  • Wenn man nicht möchte, das acme.sh sich selbst aktualisiert, kann man das ausschalten.

    acme.sh --upgrade --auto-upgrade 0
    

    Quelle: https://blog.effenberger.org/2018/07/07/x-509-zertifikate-mit-acme-sh-und-lets-encrypt/


  • Das Zertifikat wird, wie gewohnt, über einen crontab aktualisiert. Dazu legt das acme.sh einen Eintrag an, dieser sieht so aus.

    0 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
    
  • Moved from Privat by  FrankM FrankM 

  • Da ich heute mal wieder Startprobleme hatte, musste ich mich mit der Installation eines Zertifikates intensiver beschäftigen.

    Im Ausgangs Thread habe ich einen wichtigen Installationsschritt vergessen, das Zertifikat muss auch noch installiert werden. Das habe ich heute oben so ergänzt. Jetzt sollte es hoffentlich komplett sein.