So konfigurieren Sie SSL auf dem Jenkins-Server
Es ist sehr wichtig, Jenkins zu sichern, indem Sie SSL aktivieren, das in einer Projektumgebung ausgeführt wird. Dieser Artikel führt Sie durch die Schritt-für-Schritt-Anleitung zum Konfigurieren von SSL auf einem Jenkins-Server.
Im Folgenden finden Sie die Schritte zum Konfigurieren von SSL auf dem Jenkins-Server.
- SSL-Zertifikate beziehen
- SSL-Schlüssel in das PKCS12-Format konvertieren
- PKCS12 in das JKS-Format konvertieren
- JKS zum Jenkins-Pfad hinzufügen
- Konfigurieren Sie den Jenkins-Start für die Verwendung der JKS-Datei.
- Jenkins SSL validieren
Beginnen wir mit dem Setup
Schritt 1: Domain beziehen & SSL-Zertifikate
Sie sollten eine gültige Domain haben, die auf die IP-Adresse des Jenkins-Servers verweist, um SSL zu konfigurieren. Die Domäne kann je nach Infrastruktur Ihres Unternehmens intern oder extern sein.
SSL-Zertifikat kann mit den folgenden Methoden erhalten werden.
- In den meisten Fällen werden Sie Jenkins in einer privaten Umgebung mit einem internen DNS haben und Sie können die internen SSL-Zertifikate von den jeweiligen Organisationen erhalten.
- Sie können auch selbstsignierte SSL-Zertifikate mit OpenSSL erstellen. Folgen Sie diesem Blog, Generieren Sie SSL-Zertifikate, um selbstsignierte Zertifikate mit OpenSSL zu erstellen.
- Sie können auch Dienste wie let’s encrypt für gültige SSL-Zertifikate verwenden. Diese Zertifikate müssen jedoch alle drei Monate erneuert werden.
Schritt 2: Konvertieren Sie SSL-Schlüssel in das PKCS12-Format
Hinweis: Wenn Sie das Zertifikat bereits im Format
.p12
oder.pfx
haben, müssen Sie diese Konvertierung nicht durchführen.
Der unten angegebene Befehl konvertiert SSL-Zertifikate in das PKCS12-Zwischenformat mit dem Namen jenkins.p12
. Stellen Sie sicher, dass Sie die folgenden Zertifikate bei sich haben, bevor Sie den Befehl ausführen.
- ca.crt
- Server.schlüssel
- Server.crt
Ersetzen Sie außerdem
jenkins.devopscube.com
im Befehl durch Ihren eigenen Aliasnamen- Ersetzen Sie
your-strong-password
durch ein sicheres Kennwort.
openssl pkcs12 -export -out jenkins.p12 \-passout 'pass:your-strong-password' -inkey server.key \-in server.crt -certfile ca.crt -name jenkins.devopscube.com
Schritt 3: PKCS12 in das JKS-Format konvertieren
Verwenden Sie den folgenden keytool-Befehl, um die jenkins.p12
-Datei in das JKS-Format zu konvertieren.
Ersetzen Sie die folgenden Werte durch Ihre eigenen Werte.
-
-srcstorepass
– In Schritt 3 verwendetes Passwort -
-deststorepass
– Ersetzen Sie es durch ein sicheres Passwort. -
-srcalias
– Aliasname, der in Schritt 2 verwendet wurde -
-destalias
– Ersetzen Sie durch einen Zielaliasnamen.
keytool -importkeystore -srckeystore jenkins.p12 \-srcstorepass 'your-secret-password' -srcstoretype PKCS12 \-srcalias jenkins.devopscube.com -deststoretype JKS \-destkeystore jenkins.jks -deststorepass 'your-secret-password' \-destalias jenkins.devopscube.com
Sie sollten eine Datei mit dem Namen jenkins.jks
an Ihrem aktuellen Speicherort sehen.
Schritt 4: JKS zum Jenkins-Pfad hinzufügen
jenkins_keystore.jks
Die Datei sollte an einem bestimmten Ort gespeichert werden, an dem Jenkins darauf zugreifen kann.
Erstellen wir einen Ordner und verschieben den jenkins_keystore.jks
-Schlüssel an diesen Ort.
mkdir -p /etc/jenkinscp jenkins_keystore.jks /etc/jenkins/
Ändern Sie die Berechtigungen der Schlüssel und Ordner.
chown -R jenkins: /etc/jenkinschmod 700 /etc/jenkinschmod 600 /etc/jenkins/jenkins.jks
Schritt 5: Ändern Sie die Jenkins-Konfiguration für SSL
Alle wichtigen Jenkins-Startkonfigurationen sind in /etc/sysconfig/jenkins
Datei. Alle SSL-basierten Konfigurationen gehen in diese Datei.
Öffnen Sie die Datei
sudo vi /etc/sysconfig/jenkins
Suchen und ersetzen Sie die Werte in der Datei wie unten gezeigt.
Hinweis: Ersetzen Sie
your-keystore-password
durch das Keystore-Passwort, das Sie in Schritt 3 festgelegt haben
JENKINS_PORT="-1"JENKINS_HTTPS_PORT="8443"JENKINS_HTTPS_KEYSTORE="/etc/jenkins/jenkins.jks"JENKINS_HTTPS_KEYSTORE_PASSWORD="<your-keystore-password>"JENKINS_HTTPS_LISTEN_ADDRESS="0.0.0.0"
Speichern Sie die Konfiguration und starten Sie Jenkins neu.
sudo systemctl restart jenkins
Überprüfen Sie den Jenkins-Status.
sudo systemctl status jenkins
Schritt 6: SSL validieren
Jetzt sollten Sie über https mit Port 8443 auf Jenkins zugreifen können
https://<jenkins-dns/ip>:8443
Sie können auch curl verwenden, um SSL zu überprüfen
curl -k https://<jenkins-dns/ip>:8443
- Mehr