Lassen Sie uns + certbot verschlüsseln: Wo ist der private Schlüssel?

11447
lhk

Ich habe verwendet openssl, um Schlüssel und Zertifikate für meine Website zu erstellen. Was gut funktioniert, führt aber zu Beanstandungen vom Browser.

Jetzt möchte ich zu Let's Encrypt wechseln, um ein ordnungsgemäßes Zertifikat zu erhalten.

Das Setup war sehr einfach, ich habe certbot installiert und das Tutorial auf ihrer Website verfolgt.

Ich war überrascht zu lesen, dass certbotes mit einer Flagge verwendet werden soll certonly. Dies bedeutet intuitiv, dass nur ein Zertifikat erstellt wird. Es sollte mich während des Setups nach einem vorhandenen Schlüssel fragen. Was nicht ist, erstellt stattdessen ein neues Zertifikat und einen neuen Schlüssel.

sudo certbot certonly --standalone -d xxxx  ...  Waiting for verification... Cleaning up challenges Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem  .... 

Dieser Schlüssel scheint jedoch nicht zu existieren. Wenn ich den Pfad in meinen Server eingebe, wird der Schlüssel nicht gefunden.

Ich hatte Probleme mit Leseberechtigungen für mein Zertifikat, die durch diese Frage gelöst wurden: https://serverfault.com/questions/773440/lets-encrypt-ssl-certificate-file-not-found-error-but-still-working

Die Lösung bestand darin, Zugriffsrechte zu ändern.

Ich zögere jedoch, dies mit meinem privaten Schlüssel zu tun. Die Internetsicherheit ist so komplex. Ich fürchte, ich weiß nicht wirklich über die Konsequenzen, wenn sich Berechtigungen ändern, wenn etwas so wichtiger ist wie der private Schlüssel.

Wie soll ich das neu generierte Zertifikat verwenden? Wo finde ich den entsprechenden privaten Schlüssel und muss ich zusätzliche Konfiguration anwenden?

5
Was auch immer Sie versuchen, Ihren Schlüssel zu verwenden, muss Ihren Schlüssel lesen können. Daran führt kein Weg vorbei. Daniel B vor 7 Jahren 0
Certbots "certonly" bedeutet eigentlich "einfach ein Zertifikat abrufen, aber nicht konfigurieren", im Gegensatz zu "certbot run", das Apache für Sie _ konfiguriert. (Viele Benutzer, darunter auch ich, würden es vorziehen, eine automatisierte Konfigurationsbearbeitung zu vermeiden - und natürlich verwenden nicht alle Apache oder nginx.) grawity vor 7 Jahren 1

1 Antwort auf die Frage

13
grawity

Ignoriere die csrund- keysVerzeichnisse. Sie enthalten im Wesentlichen nur temporäre Dateien während der Ausgabe.

Certbot legt immer die neueste Version aller Zertifikate unter /etc/letsencrypt/live :

/ etc / letsencrypt / live ├── mail.example.org ├── ├── cert.pem -> ../../archive/mail.example.org/cert8.pem ├── ├── chain.pem -> ../../archive/mail.example.org/chain8.pem Chain chain fullchain.pem -> ../../archive/mail.example.org/fullchain8.pem └── └── privkey.pem -> ../../archive/mail.example.org/privkey8.pem └── www.example.org ├── cert.pem -> ../../archive/www.example.org/cert7.pem ├── chain.pem -> ../../archive/www.example.org/chain7.pem Chain fullchain.pem -> ../../archive/www.example.org/fullchain7.pem └── privkey.pem -> ../../archive/www.example.org/privkey7.pem 

Daher würden Sie Dienste wie folgt konfigurieren:

SSLCertificateFile /etc/letsencrypt/live/www.example.org/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.example.org/privkey.pem 

Auf diese Weise müssen Dienste nur nach jeder Erneuerung neu geladen und nicht neu konfiguriert werden. Mit der "deploy hook" -Funktion von certbot können Sie Berechtigungsänderungen, Service-Reloads und alles andere automatisieren, das automatisiert werden muss.