Diese Anleitung zeigt Ihnen, wie Sie eine CSR (Certificate Signing Request) auf Proxmox VE erstellen. Da Proxmox Virtual Environment auf Debian basiert, erstellen Sie die CSR über die Befehlszeile per SSH mit dem OpenSSL-Tool, das auf jedem Node bereits vorinstalliert ist. Der Vorgang ist bei Proxmox VE 8.x und der neueren 9.x-Serie identisch.
Eine CSR ist die codierte Anfrage, die Sie an eine Zertifizierungsstelle (CA) senden, wenn Sie ein SSL/TLS-Zertifikat bestellen. Bei der Erstellung wird gleichzeitig ein passender privater Schlüssel generiert. Dieser Schlüssel bleibt auf dem Proxmox-Node und wird niemals an die CA übermittelt. Bewahren Sie ihn daher sicher auf: Ein Zertifikat funktioniert nur mit genau dem Schlüssel, mit dem es gekoppelt wurde.
Manuelle CSR vs. der integrierte ACME-Client
Proxmox VE enthält einen integrierten ACME-Client (Konten unter Datacenter > ACME, wobei Domains pro Node unter Node > Certificates hinzugefügt werden), der kostenlose Zertifikate von Let’s Encrypt anfordern und automatisch verlängern kann. Wenn Sie lediglich die Proxmox-Webschnittstelle und einen öffentlich erreichbaren Hostnamen absichern möchten, ist dieser automatisierte Weg die einfachere Wahl, da er sich selbst verlängert.
Sie erstellen weiterhin manuell eine CSR, wenn Sie ein Zertifikat von einer kommerziellen CA kaufen, wenn Sie einen Zertifikatstyp benötigen, den ACME nicht ausstellt (zum Beispiel ein Organization-Validation-, Extended-Validation- oder Wildcard-Zertifikat), oder wenn eine interne Richtlinie vorschreibt, dass Sie den Schlüssel und die Anfrage selbst kontrollieren müssen. Der Rest dieses Tutorials behandelt diesen manuellen Ablauf.
Schritt 1: CSR und privaten Schlüssel erstellen
Verbinden Sie sich per SSH mit Ihrem Proxmox-Node (oder öffnen Sie die Shell-Konsole in der Proxmox-Webschnittstelle). OpenSSL ist bereits installiert. Sollte es aus irgendeinem Grund fehlen, installieren Sie es zuerst:
sudo apt-get update && sudo apt-get install openssl
Führen Sie am Prompt den folgenden Befehl aus, um die CSR und den zugehörigen privaten Schlüssel in einem Schritt zu erstellen:
openssl req -new -newkey rsa:2048 -nodes -keyout mywebsite.key -out mywebsite.csr -addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
Ersetzen Sie mywebsite durch einen Namen, der Ihre Domain identifiziert, damit die Dateien später leicht wiederzuerkennen sind. Hier ist, was jeder Teil des Befehls bewirkt:
- req -new erstellt eine neue Zertifikatsanfrage.
- -newkey rsa:2048 generiert einen neuen privaten RSA-Schlüssel mit 2048 Bit. RSA 2048 ist aktuell das Mindestmaß für öffentliche Zertifikate; Sie können rsa:4096 für einen größeren Schlüssel verwenden oder zu einem modernen Elliptic-Curve-Schlüssel wechseln (siehe FAQ unten).
- -nodes lässt den privaten Schlüssel unverschlüsselt, damit der Proxmox-Dienst ihn beim Start lesen kann, ohne nach einer Passphrase zu fragen.
- -keyout mywebsite.key schreibt den privaten Schlüssel. Bewahren Sie diese Datei auf dem Node auf und geben Sie sie niemals weiter.
- -out mywebsite.csr schreibt die CSR, die Sie bei der CA einreichen werden.
Moderne OpenSSL-Versionen signieren die Anfrage standardmäßig mit SHA-256, was von jeder öffentlichen CA verlangt wird. Ein zusätzliches Flag für einen älteren Digest-Algorithmus ist nicht nötig.
Schritt 2: Erforderliche Angaben zu Ihrer Domain und Ihrem Unternehmen machen
OpenSSL fragt Sie anschließend nach den Details, die den Distinguished Name des Zertifikats bilden. Beantworten Sie jede Frage:
- Country Name: der offizielle zweistellige Ländercode, zum Beispiel US.
- State or Province: der vollständige Name des Bundeslandes oder der Provinz, in der Ihr Unternehmen registriert ist, zum Beispiel Alabama.
- City or Locality: der vollständige Name der Stadt, in der sich Ihr Unternehmen befindet, zum Beispiel Mobile.
- Organization Name: der vollständige rechtliche Name Ihres Unternehmens, zum Beispiel Your Company LLC. Bei einem Domain-Validation-(DV)-Zertifikat können Sie dieses Feld leer lassen.
- Organizational Unit Name: lassen Sie dieses Feld leer. Es ist für öffentliche SSL/TLS-Zertifikate veraltet, und CAs entfernen es ohnehin.
- Common Name: der vollqualifizierte Domainname (FQDN), den Sie absichern möchten, zum Beispiel proxmox.yoursite.com. Für ein Wildcard-Zertifikat setzen Sie ein Sternchen vor die Domain, zum Beispiel *.yoursite.com.
- Email Address: eine gültige E-Mail-Adresse (bei den meisten CAs optional).
- A challenge password: lassen Sie dieses Feld leer. Es handelt sich um ein veraltetes Feld, das öffentliche CAs ignorieren.
- An optional company name: lassen Sie dieses Feld leer.
OpenSSL schreibt die CSR und den privaten Schlüssel nun in das Verzeichnis, aus dem Sie den Befehl ausgeführt haben. Listen Sie die Dateien auf, um zu bestätigen, dass sie erstellt wurden:
ls
Sie sollten mywebsite.key und mywebsite.csr sehen (oder den Namen, den Sie gewählt haben).
Schritt 3: CSR vor dem Einreichen überprüfen
Bevor Sie die Anfrage an eine CA senden, prüfen Sie, ob die Angaben korrekt sind und die Signatur gültig ist. Ein Tippfehler im Common Name bedeutet eine erneute Ausstellung, daher lohnt sich diese 10-Sekunden-Prüfung:
openssl req -noout -text -verify -in mywebsite.csr
Bestätigen Sie, dass die Zeile Subject den richtigen Common Name und die richtigen Unternehmensangaben zeigt, dass der öffentliche Schlüssel die erwartete Größe hat und dass OpenSSL die Selbstsignatur als verifiziert meldet. Wenn Sie die Anfrage lieber in einem Browser überprüfen möchten, fügen Sie sie in unseren CSR-Decoder ein, der dieselben decodierten Felder online anzeigt.
Schritt 4: CSR an Ihre Zertifizierungsstelle einreichen
Öffnen Sie die CSR-Datei in einem beliebigen Texteditor:
cat mywebsite.csr
Kopieren Sie während des SSL-Bestellvorgangs den gesamten Inhalt der Datei, einschließlich der Zeilen —–BEGIN CERTIFICATE REQUEST—– und —–END CERTIFICATE REQUEST—–, und fügen Sie ihn in das CSR-Feld auf der Website Ihres SSL-Anbieters ein. Lassen Sie eine der beiden Markierungszeilen oder auch nur eines der fünf Bindestriche auf jeder Seite weg, wird die CA die Anfrage ablehnen.
Nachdem die CA die CSR validiert und Ihr Zertifikat ausgestellt hat, folgen Sie unserer Anleitung zur SSL-Installation auf Proxmox, um es auf dem Node zu installieren. Sie werden das ausgestellte Zertifikat mit der Datei mywebsite.key koppeln, die auf dem Server verblieben ist.
Häufig gestellte Fragen
Der private Schlüssel wird in das Verzeichnis geschrieben, aus dem Sie den OpenSSL-Befehl ausgeführt haben, unter dem Dateinamen, den Sie an -keyout übergeben haben (zum Beispiel mywebsite.key). Er verlässt niemals den Node und wird niemals an die CA gesendet. Bewahren Sie ihn sicher auf und erstellen Sie eine Sicherungskopie, denn das ausgestellte Zertifikat funktioniert nur mit genau diesem Schlüssel.
Ja. Elliptic-Curve-(ECDSA)-Schlüssel sind bei gleichem Sicherheitsniveau kleiner und schneller als RSA und werden von allen großen CAs unterstützt. Erstellen Sie den Schlüssel und die CSR mit einem einzigen Befehl:openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout mywebsite.key -out mywebsite.csr -addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
Die Kurve prime256v1 (auch P-256 genannt) ist eine sichere Standardwahl. Der Rest des Vorgangs, einschließlich der Eingabeaufforderungen in Schritt 2, ist identisch.
Nein. Für ein kostenloses Let’s-Encrypt-Zertifikat auf einem öffentlich erreichbaren Hostnamen übernimmt der integrierte ACME-Client unter Datacenter > ACME die Anfrage und verlängert sie automatisch, ohne dass eine manuelle CSR nötig ist. Erstellen Sie eine CSR manuell, wenn Sie bei einer kommerziellen CA kaufen oder ein OV-, EV- oder Wildcard-Zertifikat benötigen, das die Standard-ACME-Einrichtung nicht ausstellt.
Führen Sie openssl req -noout -text -in mywebsite.csr aus, um die decodierten Felder (Subject, Schlüsselgröße und alle Subject Alternative Names) direkt auf dem Node anzuzeigen. Fügen Sie das Flag -verify hinzu, um zusätzlich zu bestätigen, dass die Selbstsignatur gültig ist, bevor Sie die Anfrage einreichen.
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


