Sådan konfigureres SSL på Jenkins Server
det er meget vigtigt at sikre Jenkins ved at aktivere SSL, der kører i et projektmiljø. Denne artikel fører dig gennem trinvis vejledning til konfiguration af SSL på en Jenkins-server.
Følgende er de trin, der er involveret i Konfiguration af SSL på Jenkins server.
- få SSL-certifikater
- konverter SSL-nøgler til PKCS12-format
- konverter PKCS12 til JKS-format
- Tilføj JKS til Jenkins-sti
- Konfigurer Jenkins-opstart for at bruge JKS-filen.
- Valider Jenkins SSL
lad os komme i gang med opsætningen
Trin 1: Hent domæne& SSL-certifikater
Du skal have et gyldigt domæne, der peger på Jenkins server IP for at konfigurere SSL. Domænet kan være internt eller eksternt baseret på din organisations infrastruktur.
SSL-certifikat kan fås ved hjælp af følgende metoder.
- i de fleste tilfælde vil du have Jenkins i et privat miljø med en intern DNS, og du kan få de interne SSL-certifikater fra de respektive organisationer.
- du kan også oprette selvsignerede SSL-certifikater ved hjælp af OpenSSL. Følg denne blog, generer SSL-certifikater for at oprette selvsignerede certifikater ved hjælp af OpenSSL.
- du kan også bruge tjenester som Lad os kryptere for gyldige SSL-certifikater. Men disse certifikater skal fornyes hver tredje måned.
Trin 2: Konverter SSL-nøgler til PKCS12-format
Bemærk: Hvis du allerede har certifikatet i
.p12
eller.pfx
format, behøver du ikke at gøre denne konvertering.
kommandoen nedenfor konverterer SSL-certs til mellemliggende PKCS12-format med navnetjenkins.p12
. Sørg for, at du har følgende certs med dig, før du udfører kommandoen.
- ca.crt
- server.nøgle
- server.crt
også
- Erstat
jenkins.devopscube.com
i kommandoen med dit eget aliasnavn - Erstat
your-strong-password
med en stærk adgangskode.
openssl pkcs12 -export -out jenkins.p12 \-passout 'pass:your-strong-password' -inkey server.key \-in server.crt -certfile ca.crt -name jenkins.devopscube.com
Trin 3: Konverter PKCS12 til JKS-format
brug følgende keytool-kommando til at konvertere jenkins.p12
fil til JKS-format.
Erstat følgende med dine egne værdier.
-srcstorepass
– adgangskode brugt i Trin 3-deststorepass
– Udskift med en stærk adgangskode.-
-srcalias
– aliasnavn brugt i trin 2 -
-destalias
– Erstat med et destinationsaliasnavn.
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
Du skal se en fil med navnetjenkins.jks
i din aktuelle placering.
Trin 4: Tilføj JKS til Jenkins path
jenkins_keystore.jks
fil skal gemmes på et bestemt sted, hvor Jenkins kan få adgang til det.
lad os oprette en mappe og flytte jenkins_keystore.jks
– tasten til den placering.
mkdir -p /etc/jenkinscp jenkins_keystore.jks /etc/jenkins/
Skift tilladelserne til tasterne og mappen.
chown -R jenkins: /etc/jenkinschmod 700 /etc/jenkinschmod 600 /etc/jenkins/jenkins.jks
Trin 5: Rediger Jenkins-konfiguration for SSL
alle de vigtigste Jenkins-opstartskonfigurationer er til stede i /etc/sysconfig/jenkins
fil. ALLE SSL-baserede konfigurationer går ind i denne fil.
Åbn filen
sudo vi /etc/sysconfig/jenkins
Find og erstat værdierne i filen som vist nedenfor.
Bemærk: Erstat
your-keystore-password
med Keystore-adgangskoden indstiller du i trin 3
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"
Gem konfigurationen og genstart Jenkins.
sudo systemctl restart jenkins
Tjek Jenkins status.
sudo systemctl status jenkins
Trin 6: Valider SSL
nu skal du kunne få adgang til Jenkins via https med port 8443
https://<jenkins-dns/ip>:8443
Du kan også bruge curl til at bekræfte SSL
curl -k https://<jenkins-dns/ip>:8443
- kvidre
- mere