acme.sh Kostenloser Antrag für ein TSL/SSL-Domänennamenzertifikat

acme.sh Kostenlose SSL-Zertifikatsanwendung, automatische Erneuerungskonfiguration, acme.sh-Skript, Let’s Encrypt-Anwendung für Domänennamenzertifikate ist sehr einfach, automatisiert und kostenlos. acme.sh implementiert das Acme-Protokoll und kann kostenlose Zertifikate von Let’s Encrypt generieren.

acme.sh Kostenloses SSL/TSL-Domänennamenzertifikat

Verwenden Sie das Skript acme.sh, um ein kostenloses TSL/SSL-Domänennamenzertifikat auf einem Linux-Server zu beantragen

Zertifikat, automatische Erneuerungskonfiguration acme.sh-Skript,Sehr nützlichAnwendungsskript, einfache Installation, SupportMethodenanwendung und HTTP-Methodenanwendung,Ganz einfach, automatisch und kostenlos. acme.sh implementiert das Acme-Protokoll und kann kostenlose Zertifikate von Let’s Encrypt generieren.

Einführung in Let’s Encrypt und Acme.sh

Was ist Let’s Encrypt

Let’s Encrypt ist eine digitale Zertifizierungsstelle, die im dritten Quartal 2015 ins Leben gerufen wurde. Ihr Ziel ist es, den komplexen Prozess der manuellen Erstellung und Installation von Zertifikaten durch automatisierte Prozesse zu ersetzen und die Nutzung des World Wide Web zu fördern.Verschlüsselte Verbindungen gibt es überall und bieten kostenloseZertifikat.
Let's Encrypt wird von der Internet Security Research Group (ISRG) bereitgestellt. Zu den Hauptsponsoren zählen die Electronic Frontier Foundation, die Mozilla Foundation, Akamai und Cisco. Am 9. April 2015 gaben die ISRG und die Linux Foundation ihre Partnerschaft bekannt.
Das Protokoll zur Implementierung der neuen digitalen Zertifizierungsstelle heißt Automatic Certificate Management Environment (ACME). Ein Entwurf der Spezifikation ist auf GitHub verfügbar, und eine Version des Vorschlags wurde alsEntwurf veröffentlicht.
Der Prozess zur Beantragung eines Domänennamenzertifikats bei Let’s Encrypt ist einfach, automatisiert und kostenlos.

acme.sh Kostenloses SSL/TSL-Domänennamenzertifikat

Was ist acme.sh

Einfach ausgedrückt acme.sh Das ACME-Protokoll ist implementiert und kostenlose Zertifikate können von Let’s Encrypt generiert werden.
acme.sh Es verfügt über die folgenden Funktionen:

  • Ein ACME-Protokollclient, der ausschließlich in der Sprache Shell (Unix-Shell) geschrieben ist.
  • Eine vollständige ACME-Protokollimplementierung.
  • Unterstützung von ECDSA-Zertifikaten
  • Unterstützung für SAN- und Wildcard-Zertifikate
  • Einfach, leistungsstark und sehr benutzerfreundlich. Sie benötigen nur 3 Minuten, um es zu erlernen.
  • Kompatibel mit Bash, Dash und Sh.
  • Rein in Shell geschrieben, nicht abhängig von .
  • Automatisieren Sie die Ausstellung, Erneuerung und Installation von Zertifikaten mit nur einem Skript.
  • Keine Zugriffsrechte erforderlich. root/sudoer
  • Docker-fähig
  • IPv6-fähig
  • Bei Erneuerung oder Fehler etc. Zuweisungsbenachrichtigungen.

Homepage des Github-Projekts:https://github.com/acmesh-official/acme.sh

So installieren Sie acme.sh

Ein reines Unix-Shell-Skript, das das ACME-Client-Protokoll implementiert.

Installieren Sie das Skript acme.sh

Die Installation ist sehr einfach, ein Befehl:

mein@beispiel.comErsetzen Sie es durch Ihre E-Mail-Adresse.

curl https://get.acme.sh | sh -s email=my@example.com

Laden Sie das Skript auf den Server herunter und installieren Sie es:

wget -O - https://get.acme.sh | sh -s email=my@example.com

Alternativ können Sie zur Installation von Git dieses Projekt klonen und die Installation starten:

git clone https://github.com/acmesh-official/acme.sh.git cd ./acme.sh ./acme.sh --install -m my@example.com

Das Installationsprogramm führt drei Aktionen aus:

  • Erstellen und kopieren Sie in Ihr Home-Verzeichnis (): acme.sh$HOME~/.acme.sh/. Alle Zertifikate werden auch in diesem Ordner abgelegt.
  • Erstellen Sie einen Alias für Folgendes: acme.sh=~/.acme.sh/acme.sh
  • Erstellen Sie einen täglichen Cron-Job, um die Zertifikate nach Bedarf zu überprüfen und zu erneuern.

Konfigurieren Sie das Skript acme.sh

Sowohl normale Benutzer als auch Root-Benutzer können acme.sh installieren und verwenden.
Der Installationsvorgang läuft in den folgenden Schritten ab:
Installieren Sie acme.sh in Ihrem Home-Verzeichnis: ~/.acme.sh/ und erstellen Sie zu Ihrer Bequemlichkeit einen Bash-Alias:

alias acme.sh=~/.acme.sh/acme.sh echo 'alias acme.sh=~/.acme.sh/acme.sh' >>/etc/profile

Während der Installation wird automatisch ein Cronjob für Sie angelegt, der täglich um 0:00 Uhr alle Zertifikate automatisch prüft. Sollten diese bald ablaufen und erneuert werden müssen, werden die Zertifikate automatisch erneuert.

00 00 * * * root /root/.acme.sh/acme.sh --cron --home /root/.acme.sh &>/var/log/acme.sh.logs

Weitere erweiterte Installationsoptionen finden Sie unter: https://github.com/Neilpang/acme.sh/wiki/How-to-install
Der Installationsprozess dieses Skripts beeinträchtigt keine vorhandenen Systemfunktionen und Dateien. Alle Änderungen beschränken sich auf das Installationsverzeichnis: ~/.acme.sh/

Beantragen Sie ein Zertifikat mit acme.sh

acme.sh implementiert alle vom Acme-Protokoll unterstützten Authentifizierungsprotokolle. Es gibt grundsätzlich zwei Möglichkeiten der Authentifizierung: HTTP- und DNS-Authentifizierung.

HTTP-Methode

Bei der HTTP-Methode müssen Sie eine Datei im Stammverzeichnis Ihrer Website platzieren, um Ihren Domänennamenbesitz zu bestätigen und die Verifizierung abzuschließen. Anschließend können Sie ein Zertifikat generieren.

Nehmen wir als Beispiel den Domänennamen boxpu.com:

acme.sh --issue -d boxpu.com -d *.boxpu.com --webroot /www/wwwroot/boxpu.com/

Sie müssen lediglich den Domänennamen und das Stammverzeichnis der Website angeben, auf der sich der Domänenname befindet. acme.sh generiert automatisch eine Verifizierungsdatei, legt sie im Stammverzeichnis der Website ab und führt die Verifizierung anschließend automatisch durch. Anschließend wird die Verifizierungsdatei automatisch gelöscht, ohne dass es zu Nebenwirkungen kommt.
Wenn Sie Server, acme.sh kann die Überprüfung auch intelligent automatisch aus der Apache-Konfiguration durchführen, Sie müssen das Stammverzeichnis der Website nicht angeben:

acme.sh --issue -d boxpu.com --boxpu.com

Wenn Sie Server oder Anti-Generation, acme.sh Sie können die Überprüfung auch automatisch und intelligent über die Nginx-Konfiguration durchführen lassen, ohne das Stammverzeichnis der Website angeben zu müssen:

acme.sh --issue -d boxpu.com --nginx

Hinweis: Unabhängig vom Apache- oder Nginx-Modus wird acme.sh nach Abschluss der Überprüfung in den vorherigen Zustand zurückversetzt und Ihre Konfiguration nicht ohne Erlaubnis geändert. Der Vorteil ist, dass Sie sich keine Sorgen über eine Beschädigung der Konfiguration machen müssen.
Diese Konfiguration hat einen Nachteil: Sie müssen die SSL-Konfiguration selbst vornehmen. Andernfalls können Sie nur das Zertifikat erfolgreich generieren, Ihre Website kann jedoch weiterhin nicht auf https zugreifen. Aus Sicherheitsgründen sollten Sie die Konfiguration jedoch manuell ändern.
Wenn Sie noch keinen Webdienst ausgeführt haben und Port 80 frei ist, kann acme.sh auch vorgeben, ein Webserver zu sein und vorübergehend auf Port 80 lauschen, um die Überprüfung abzuschließen:

acme.sh --issue -d boxpu.com --standalone

Informationen zur erweiterten Verwendung finden Sie unter: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert

DNS-Methode

Der Vorteil dieser Methode besteht darin, dass Sie weder einen Server noch eine öffentliche IP-Adresse benötigen. Sie brauchen lediglich DNS-Auflösungsdatensätze, um die Überprüfung abzuschließen.
Der Nachteil dieser Methode besteht darin, dass acme.sh das Zertifikat mit dieser Methode nicht automatisch erneuern kann, wenn die Automatic DNS API nicht gleichzeitig konfiguriert ist. Sie müssen dann jedes Mal den Domänennamenbesitz manuell neu analysieren und überprüfen.

Beantragen Sie ein Zertifikat über DNS

cd /root/.acme.sh acme.sh --issue -d *.boxpu.com -d boxpu.com --dns --yes-ich-kenne-DNS-manueller-Modus-genug-mach-bitte

Ändern Sie DNS und ändern Sie den Hostdatensatz auf der NS-Verwaltungsseite.

Generieren eines Zertifikats mithilfe von DNS

Holen Sie sich ein kostenloses Wildcard-Domänennamen-Zertifikat von Let's Encrypt. Führen Sie nach der DNS-Auflösung den folgenden Befehl aus, um das Zertifikat neu zu generieren:

acme.sh --renew -d *.boxpu.com -d boxpu.com --dns --yes-ich-kenne-DNS-manueller-Modus-genug-mach-bitte

Beachten Sie, dass beim zweiten Mal --erneuern

DNS-Methoden-API

Die wahre Stärke der DNS-Methode liegt darin, dass SieDie vom Anbieter bereitgestellte API fügt automatisch TXT-Einträge hinzu, um die Überprüfung abzuschließen.
acme.sh unterstützt derzeit 、dnspod、cloudxns、 Und automatische Integration von Dutzenden von Parsern wie OVH.
Am Beispiel von dnspod müssen Sie sich zuerst bei Ihrem dnspod-Konto anmelden und Ihre API-ID und Ihren API-Schlüssel generieren. Beide sind kostenlos.

export DP_Id="xxxxxxxxxxxx" export DP_Key="xxxxxxxxxxxxxx" acme.sh --issue --dns dns_dp -d boxpu.com -d boxpu.com

Das Zertifikat wirdDie hier angegebene API-ID und der API-Schlüssel werden automatisch gespeichert. Sie müssen diese bei zukünftigen Verwendungen der dnspod-API nicht erneut angeben. Generieren Sie sie einfach direkt:

acme.sh --issue -d boxpu.com --dns dns_dp

Ausführlichere API-Nutzung: https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md

Verwendung von TLS/SSL-Zertifikaten

Installation des TLS/SSL-Zertifikats

Nachdem das Zertifikat generiert wurde, müssen Sie es dorthin kopieren, wo Sie es wirklich benötigen.

Beachten Sie, dass die standardmäßig generierten Zertifikate im Installationsverzeichnis ~/.acme.sh/ abgelegt werden. Verwenden Sie die Dateien in diesem Verzeichnis nicht direkt.
Beispiel: Verwenden Sie die folgende Datei nicht direkt in der Nginx/Apache-Konfigurationsdatei.
Die hier aufgeführten Dateien sind nur für den internen Gebrauch bestimmt. Die Verzeichnisstruktur kann sich ändern. Die korrekte Verwendung erfolgt über den Befehl --installcert und die Angabe des Zielspeicherorts. Anschließend werden die Zertifikatsdateien an den entsprechenden Speicherort kopiert. Beispiel:

acme.sh --installcert -d boxpu.com \ --key-file /etc/nginx/ssl/uzbox.key \ --fullchain-file /etc/nginx/ssl/fullchain.cer \ --reloadcmd "systemctl force-reload nginx"

Installieren Sie das SSL-Zertifikat auf dem Nginx-Server

Am Beispiel der Nginx-Standardkonfiguration wird empfohlen, die generierte Zertifikatsdatei fullchain.cer zu verwenden, und die private Schlüsseldatei lautet boxpu.com.key.

Die SSL-Zertifikatskonfiguration von Nginx verwendet fullchain.cer anstelle von .cer, andernfalls meldet der SSL Labs-Test einen Fehler „Chain issues Incomplete“.
Der oben generierte Zertifikatspfad lautet /www/server/panel/vhost/cert/boxpu.com/;
Nginx-Konfigurationsdatei ändern

Server { listen 443; Servername boxpu.com; SSL ein; Stamm-HTML; Index index.html index.htm; SSL-Zertifikat /www/server/panel/vhost/cert/boxpu.com/fullchain.cer; SSL-Zertifikatsschlüssel /www/server/panel/vhost/cert/boxpu.com/clsn.key; SSL-Sitzungstimeout 5 m; SSL-Chiffren ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; SSL-Protokolle TLSv1 TLSv1.1 TLSv1.2; SSL-bevorzugte Server-Chiffren ein; Standort / { Stamm-HTML; Index index.html index.htm; } }

Starten Sie nginx neu und laden Sie die neue Konfiguration

systemctl force-reload nginx

Hinweis: Hier wird systemctl force-reload nginx verwendet, nicht systemctl reload nginx. Da „Reload“ das Zertifikat nicht neu lädt, wird „force-reload“ verwendet.

Zertifikate erneuern

Zertifikatserneuerung

Das aktuelle Zertifikat ist 90 Tage gültig und wird nach 60 Tagen ausgestellt.Automatische Erneuerung, Sie müssen nichts tun. Alles läuft automatisch ab, Sie müssen sich keine Gedanken über den Ablauf des Zertifikats machen.

acme.sh-Aktualisierungen

Da das Acme-Protokoll und die Letsencrypt-CA derzeit häufig aktualisiert werden, wird auch acme.sh häufig aktualisiert, um die Synchronisierung aufrechtzuerhalten.
Aktualisieren Sie acme.sh auf die neueste Version:

acme.sh --upgrade
Wenn Sie nicht manuell aktualisieren möchten, können Sie die automatische Aktualisierung aktivieren:
acme.sh --upgrade --auto-upgrade
Danach bleibt acme.sh automatisch auf dem neuesten Stand. Sie können die automatischen Updates jederzeit deaktivieren:
acme.sh --upgrade --auto-upgrade 0
Verweise
Punktzahl

Das ist eine gute Idee

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * Mark