본문 바로가기
인프라/젠킨스(jenkins)

[jenkins] cenots7 젠킨스 https ssl 인증서 설치

by IT맥구리나스 2022. 6. 2.

 

젠킨스 설정에 관해 구글에 검색해보면 죄다  /etc/sysconfig/jenkins 에서 수정해서 재적용하면 된다고 하지만

2022년 cenots7 에서 yum으로 젠킨스를 설치하여 젠키스 버전 2.332.2 인 나의 환경에서는 해당 파일에서의 설정이 서비스를 재구동하여도 전혀 먹히지 않았다

 

결과적으로 해당 설정파일에서 설정하는게 아니라 /usr/lib/systemd/system/jenkins.service 에서 설정을 서비스 재시작을 해야 설정이 먹히는 것을 알고 있어야 한다.

 

아래는 개인키/인증 요청서/ 인증서/jks 파일 변환 방법이다.

젠킨스 ssl인증서 설치의 경우 jks파일로 설치를 해야한다.

## 개인키 생성
## 2048bit RSA 암호화 인증서
openssl genrsa -des3 -out server.key 2048

Enter pass phrase for server.key: 비밀번호
Verifying - Enter pass phrase for server.key: 비밀번호확인

#인증요청서 생성(CSR)
openssl req -new -key server.key -out server.csr

Enter pass phrase for server.key: 개인키 비밀번호
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:KR
State or Province Name (full name) []:seo
Locality Name (eg, city) [Default City]: 엔터
Organization Name (eg, company) [Default Company Ltd]: 엔터
Organizational Unit Name (eg, section) []:엔터
Common Name (eg, your name or your server's hostname) []:엔터
Email Address []:엔터


## 개인키패스워드 제거
cp server.key server.key.origin
openssl rsa -in server.key.origin -out server.key


Enter pass phrase for server.key.origin: 개인키 비밀번호 입력
writing RSA key

##인증서 생성(개인키와 서버요청서 이용하여 인증서 생성)
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt


## server.crt(인증 요청서)와 server.key(개인키)를 이용하여 jenkins.pfx 생성
openssl pkcs12 -export -in server.crt -inkey server.key -out jenkins.pfx
Enter Export Password: 비밀번호 입력
Verifying - Enter Export Password: 비밀번호 입력


## jenkins.pfx 확인방법
openssl pkcs12 -info -in jenkins.pfx


# jenkins.pfx > jenkins.jks로 변환
keytool -importkeystore -srckeystore jenkins.pfx -srcstoretype pkcs12 -destkeystore jenkins.jks -deststoretype jks

Importing keystore jenkins.pfx to jenkins.jks...
Enter destination keystore password:  비밀번호 입력
Re-enter new password: 비밀번호 입력
Enter source keystore password:  비밀번호 입력
Entry for alias 1 successfully imported.
Import command completed:  1 entries successfully imported, 0 entries failed or cancelled

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore jenkins.jks -destkeystore jenkins.jks -deststoretype pkcs12".


## https 포트추가 및 인증서(jks) 설정
vi /usr/lib/systemd/system/jenkins.service

## 주석 해제하고 아래와 같이 설정
Environment="JENKINS_HTTPS_PORT=8443"
Environment="JENKINS_HTTPS_KEYSTORE=/data/jenkins.jks"
Environment="JENKINS_HTTPS_KEYSTORE_PASSWORD=비밀번호"


## 젠킨스 서비스 재시작
systemctl daemon-reload
systemctl restart jenkins
반응형

댓글