hur man konfigurerar SSL på Jenkins Server
det är mycket viktigt att säkra Jenkins genom att aktivera SSL som körs i en projektmiljö. Den här artikeln går igenom steg-för-steg-guiden för att konfigurera SSL på en Jenkins-server.
Följande är stegen för att konfigurera SSL på Jenkins server.
- skaffa SSL-certifikat
- konvertera SSL-nycklar till PKCS12-format
- konvertera PKCS12 till JKS-format
- Lägg till JKS till Jenkins path
- konfigurera Jenkins startup för att använda JKS-filen.
- validera Jenkins SSL
Låt oss komma igång med installationen
Steg 1: Skaffa domän& SSL-certifikat
Du bör ha en giltig domän som pekar på Jenkins server IP för att konfigurera SSL. Domänen kan vara intern eller extern baserat på din organisationsinfrastruktur.
SSL-certifikat kan erhållas med följande metoder.
- i de flesta fall kommer du att ha Jenkins i en privat miljö med en intern DNS och du kan få de interna SSL-certifikaten från respektive organisationer.
- Du kan också skapa självsignerade SSL-certifikat med OpenSSL. Följ den här bloggen, generera SSL-certifikat för att skapa självsignerade certifikat med OpenSSL.
- Du kan också använda tjänster som let ’ s encrypt för giltiga SSL-certifikat. Men dessa certifikat måste förnyas var tredje månad.
steg 2: Konvertera SSL-nycklar till PKCS12-format
Obs: Om du redan har certifikatet i
.p12
eller.pfx
– format behöver du inte göra denna konvertering.
kommandot nedan konverterar SSL-certifikat till mellanliggande PKCS12-format med namnetjenkins.p12
. Se till att du har följande certifikat med dig innan du kör kommandot.
- ca.crt
- server.nyckel
- server.crt
också,
- ersätt
jenkins.devopscube.com
I kommandot med ditt eget aliasnamn - ersätt
your-strong-password
med ett starkt lösenord.
openssl pkcs12 -export -out jenkins.p12 \-passout 'pass:your-strong-password' -inkey server.key \-in server.crt -certfile ca.crt -name jenkins.devopscube.com
steg 3: Konvertera PKCS12 till JKS-format
använd följande keytool-kommando för att konvertera jenkins.p12
fil till JKS-format.
ersätt följande med dina egna värden.
-
-srcstorepass
– lösenord som används i steg 3 -
-deststorepass
– Ersätt med ett starkt lösenord. -
-srcalias
– aliasnamn som används i steg 2 -
-destalias
– Ersätt med ett destinationsaliasnamn.
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 bör se en fil med namnet jenkins.jks
på din nuvarande plats.
steg 4: Lägg till JKS till Jenkins path
jenkins_keystore.jks
filen ska sparas på en viss plats där Jenkins kan komma åt den.
Låt oss skapa en mapp och flytta jenkins_keystore.jks
nyckeln till den platsen.
mkdir -p /etc/jenkinscp jenkins_keystore.jks /etc/jenkins/
ändra behörigheterna för tangenterna och mappen.
chown -R jenkins: /etc/jenkinschmod 700 /etc/jenkinschmod 600 /etc/jenkins/jenkins.jks
Steg 5: ändra Jenkins konfiguration för SSL
alla viktiga Jenkins startkonfigurationer finns i /etc/sysconfig/jenkins
fil. Alla SSL – baserade konfigurationer går in i den här filen.
öppna filen
sudo vi /etc/sysconfig/jenkins
Sök och ersätt värdena i filen enligt nedan.
Obs: ersätt
your-keystore-password
med Keystore-lösenordet anger du i steg 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"
spara konfigurationen och starta om Jenkins.
sudo systemctl restart jenkins
kontrollera Jenkins status.
sudo systemctl status jenkins
steg 6: Validera SSL
Nu ska du kunna komma åt Jenkins via https med port 8443
https://<jenkins-dns/ip>:8443
Du kan också använda curl för att verifiera SSL
curl -k https://<jenkins-dns/ip>:8443
- mer