Diese Anleitung zeigt Ihnen wie Sie einen CSR (Certificate Signing Request) auf Debian erzeugen, und zwar über die OpenSSL-Kommandozeile. Sie führen über SSH einen einzigen Befehl aus, der gleichzeitig zwei Dateien erstellt: einen privaten Schlüssel, der auf Ihrem Server bleibt, und den CSR, den Sie bei Ihrer Zertifizierungsstelle (CA) einreichen. Die Schritte funktionieren auf Debian 13 (trixie), Debian 12 (bookworm) und älteren Versionen, da OpenSSL im Basissystem enthalten ist.
Ein CSR ist ein kleiner Textblock, der Ihre Domain-Details und einen öffentlichen Schlüssel enthält. Die CA liest ihn, validiert Ihre Anfrage und stellt ein Zertifikat aus, das zum gleichzeitig erstellten privaten Schlüssel passt. Der private Schlüssel verlässt niemals Ihren Server, also bewahren Sie ihn sicher auf: Wenn Sie ihn verlieren, wird das ausgestellte Zertifikat unbrauchbar und Sie müssen von vorn beginnen.
Schritt 1: Bei Ihrem Debian-Server anmelden
Öffnen Sie ein Terminal und verbinden Sie sich per SSH mit dem Server. Ersetzen Sie your-user durch Ihren Benutzernamen und your-server-ip durch die IP-Adresse oder den Hostnamen des Servers:
ssh your-user@your-server-ip
OpenSSL ist im Debian-Basissystem enthalten, sodass keine zusätzliche Installation nötig ist. Prüfen Sie die Version, um sicherzustellen, dass es verfügbar ist:
openssl version
Schritt 2: Privaten Schlüssel und CSR erzeugen
Führen Sie den folgenden Befehl aus. Er erstellt den privaten Schlüssel und den CSR in einem einzigen Schritt und enthält die Subject Alternative Names (SANs), die moderne Browser und CAs verlangen. Führen Sie ihn in einem Verzeichnis aus, in das Sie schreiben können, zum Beispiel Ihrem Home-Verzeichnis:
openssl req -new -newkey rsa:2048 -nodes
-keyout mywebsite.key
-out mywebsite.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=mywebsite.com"
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
Hier ist, was jeder Teil bewirkt:
- req -new erstellt eine neue Zertifikatsanforderung (Certificate Signing Request).
- -newkey rsa:2048 erzeugt einen neuen 2048-Bit-RSA-Privatschlüssel. 2048 Bit ist das aktuelle Minimum für öffentliche Zertifikate; Sie können rsa:4096 für einen größeren Schlüssel verwenden.
- -nodes lässt den privaten Schlüssel unverschlüsselt (ohne Passphrase), damit der Webserver ohne Passwortabfrage starten kann.
- -keyout mywebsite.key schreibt den privaten Schlüssel. Halten Sie diese Datei geheim und senden Sie sie niemals an jemand anderen.
- -out mywebsite.csr schreibt den CSR, den Sie bei der CA einreichen.
- -subj füllt die Subject-Felder direkt aus, sodass der Befehl ohne interaktive Eingaben läuft. Setzen Sie CN (Common Name) auf Ihren vollqualifizierten Domainnamen.
- -addext „subjectAltName=…“ fügt die SAN-Einträge hinzu. CAs stellen Zertifikate anhand der SAN-Liste aus, also nehmen Sie jeden Hostnamen auf, den das Zertifikat abdecken muss.
Ersetzen Sie mywebsite.com durch Ihre tatsächliche Domain und passen Sie die Werte in -subj an Ihre Organisation an. Der zweistellige Ländercode (C) muss großgeschrieben sein, zum Beispiel US oder GB. Bei einem domainvalidierten (DV) Zertifikat werden die Organisationsfelder nicht überprüft, aber der Befehl benötigt trotzdem gültige Werte.
Wenn Sie die Felder lieber interaktiv statt mit -subj ausfüllen möchten, lassen Sie diese Zeile weg, und OpenSSL fragt Sie nach jedem Wert:
openssl req -new -newkey rsa:2048 -nodes
-keyout mywebsite.key
-out mywebsite.csr
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
Lassen Sie bei Aufforderung das challenge password und den optional company name leer, indem Sie einfach die Eingabetaste drücken. CAs ignorieren diese Felder, und ein challenge password kann später Probleme verursachen.
Weitere Domains oder ein Wildcard hinzufügen
Fügen Sie der SAN-Liste weitere Hostnamen hinzu, durch Kommas getrennt. Um zum Beispiel eine API-Subdomain aufzunehmen:
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com,DNS:api.mywebsite.com"
Für ein Wildcard-Zertifikat verwenden Sie *.mywebsite.com. Ein Wildcard deckt eine Ebene von Subdomains ab, aber nicht die nackte Domain selbst. Listen Sie also beide auf, wenn auch die Apex-Domain abgedeckt sein soll:
-addext "subjectAltName=DNS:*.mywebsite.com,DNS:mywebsite.com"
Bevorzugen Sie einen ECDSA-Schlüssel?
ECDSA-Schlüssel sind bei gleichem Sicherheitsniveau kleiner und schneller als RSA und werden weit verbreitet unterstützt. Um stattdessen einen P-256-Schlüssel (prime256v1) und CSR zu erzeugen, tauschen Sie das Argument -newkey aus:
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes
-keyout mywebsite.key
-out mywebsite.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=mywebsite.com"
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
Moderne OpenSSL-Versionen signieren den CSR standardmäßig mit SHA-256, was von den CAs verlangt wird. Ein zusätzliches Digest-Flag ist nicht nötig.
Schritt 3: Den CSR überprüfen
Bevor Sie die Anfrage einreichen, stellen Sie sicher, dass sie die richtige Domain und die richtigen SANs enthält und dass ihre Signatur gültig ist. Dieser Befehl gibt den entschlüsselten Inhalt aus und prüft die Signatur lokal:
openssl req -noout -text -verify -in mywebsite.csr
Achten Sie in der Ausgabe auf verify OK, prüfen Sie, ob die Zeile Subject Ihren Common Name zeigt, und stellen Sie sicher, dass der Abschnitt X509v3 Subject Alternative Name jeden erwarteten Hostnamen aufführt. Fehlt ein SAN, erzeugen Sie den CSR mit dem korrekten -addext-Wert erneut. Sie können den CSR auch in unseren Online-CSR-Decoder einfügen, um diese Felder im Browser zu prüfen.
Schritt 4: Den CSR einreichen
Öffnen Sie die CSR-Datei und kopieren Sie deren gesamten Inhalt, einschließlich der BEGIN- und END-Zeilen:
cat mywebsite.csr
Der Block sieht so aus. Kopieren Sie alles von der ersten bis zur letzten Zeile, einschließlich der fünf Bindestriche auf jeder Seite der BEGIN- und END-Markierungen:
-----BEGIN CERTIFICATE REQUEST-----
MIIC...base64-encoded data...AB
-----END CERTIFICATE REQUEST-----
Fügen Sie diesen Block in Ihr SSL-Bestellformular ein. Nachdem die CA den CSR validiert und das SSL-Zertifikat ausgestellt hat, folgen Sie den Anweisungen zur Debian-SSL-Installation, um es einzusetzen. Bewahren Sie die Datei mywebsite.key auf dem Server auf: Sie benötigen sie zusammen mit dem ausgestellten Zertifikat, um HTTPS zu aktivieren, und dürfen sie niemals an die CA oder jemand anderen senden.
Wenn Sie die Kommandozeile nicht nutzen möchten, können Sie die Anfrage mit unserem CSR-Generator erstellen und das Ergebnis in Ihre Bestellung einfügen.
CSR auf anderen Plattformen erzeugen
Verwenden Sie eine andere Linux-Distribution oder einen anderen Server? Sehen Sie sich unsere weiteren CSR-Anleitungen an:
Sparen Sie 10% auf SSL-Zertifikate, wenn Sie noch heute bestellen!
Schnelle Ausstellung, starke Verschlüsselung, 99,99% Browser-Vertrauen, engagierter Support und 25-tägige Geld-zurück-Garantie. Gutscheincode: SAVE10

