[Jenkins] 5. SSH Private key를 이용한 Credentials 설정 추가하기

2021. 5. 24. 17:19CentOS 7/Jenkins

300x250
반응형
  1. Jenkins용 OpenSSH key 생성
    1. jenkins 홈 디렉토리
    2. .ssh 디렉토리 및 ssh 키 생성
    3. 파일 소유자 및 권한 변경
  2. GitHub에 public key 등록
  3. Jenkins에 Credential 설정 추가 (private key)
  4. 소스코드 연결 결과

1. Jenkins용 OpenSSH key 생성

1.1. jenkins 홈 디렉토리

Jenkins의 기본 홈 디렉토리는 /var/lib/jenkins 입니다.

54

Jenkins 홈 디렉토리에는 item, 빌드 기록과 같은 실행중 생성된 파일들이 축적됩니다.

그럼 jenkins 홈디렉토리로 이동해 봅시다.

cd /var/lib/jenkins

33

위의 이미지를 보면 알 수 있듯, Jenkins 프로그램에서 이용되는 파일 및 디렉토리들의
owner와 group은 jenkins 입니다.

1.2. .ssh 디렉토리 및 ssh 키 생성

jenkins가 이용할 OpenSSH key를 생성합시다.
jenkins 홈디렉토리에 .ssh 디렉토리를 생성한 후, 그 안에 OpenSSH key를 생성합니다.

sudo mkdir .ssh
sudo ssh-keygen -C jenkins@apple
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ./.ssh/id_rsa

1.3. 파일 소유자 및 권한 변경

그리고, .ssh 디렉토리의 ssh키의 소유자 및 그룹을 jenkins로 변경하고, rwx(읽고쓰고실행) 권한은 소유자만 가질 수 있도록 변경합니다.

sudo chown -R jenkins: .ssh
sudo chmod 700 .ssh
sudo chmod 600 .ssh/id_rsa .ssh/id_rsa.pub

2. GitHub에 public key 등록

조금전에 생성한 id_rsa.pub 키를 복사하여 GitHub에 등록해봅시다.

sudo cat .ssh/id_rsa.pub

먼저 위의 출력값을 복사하고


GitHub 로그인 후, Settings에 들어가서

23


SSH key를 등록합니다.

24


SSH key등록을 마친 후, 아래와 같은 SSH 키가 추가된 것을 확인할 수 있습니다.

24-2


3. Jenkins에 Credential 설정 추가 (private key)

Credential을 추가합니다.
아래와 같이 SSH Username with private key 를 선택하여 설정하면 됩니다.

27

조금 전에 생성했던 id_rsa 비밀키를 위에 입력하면 됩니다.


4. 소스코드 연결 결과

만일, 정상적으로 등록이 되었으며, 연결된 GitHub가 접근할 수 있는 유효한 Repository URL을 입력할 경우, 아래와 같이 에러 문구 없이 연결됩니다.

20


+++

  • GitHub SSH and GPG keys 설정
300x250
반응형