728x90
반응형
젠킨스(Jenkins) 파이프라인을 구축을 위해 원격 서버에 접속하여 배포 스크립트를 실행 때 SSH Key를 이용한 자격 증명(Credentials) 등록 방법 을 정리합니다.
1. SSH 키 쌍(Key Pair) 생성(ssh 접속할 Remote 서버)
먼저 젠킨스가 사용할 열쇠(Private Key)와 원격 서버에 꽂아둘 자물쇠(Public Key)를 만들어야 합니다. 젠킨스 서버 또는 터미널에서 아래 명령어를 입력합니다.
# RSA 방식, 4096비트 길이로 생성
ssh-keygen -t rsa -b 4096 -C "jenkins_rsa_key"
# 생성 과정에서 엔터를 3번 쳐서 'Passphrase' 없이 생성합니다 (자동화 목적).
- 생성된 파일
- 비밀키(Private Key): ~/.ssh/id_rsa → 젠킨스 Credentials에 등록
- 공개키(Public Key): ~/.ssh/id_rsa.pub → 원격 서버에 등록
- ~/.ssh/authorized_keys 파일에 id_rsa.pub 값을 붙여 넣습니다. authorized_keys 파일이 없으면 생성하고 붙여넣습니다.
# 접속 계정의 홈 디렉토리에서 실행
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "복사한_공개키_내용" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
2. 젠킨스(Jenkins)에 비밀키 등록하기
젠킨스가 원격 서버의 문을 열 수 있도록 비밀키를 전달해 주는 과정입니다.
- Jenkins 관리 > Credentials 메뉴로 접속합니다.
- (global) 도메인을 클릭하고 Add Credentials를 누릅니다.
- 아래 정보를 정확히 입력합니다.
- Kind: SSH Username with private key
- ID: 파이프라인에서 호출할 별명 (예: target-server-rsa-key)
- Username: 서버에 접속할 실제 계정명 (예: compatest)
- Private Key: 'Enter directly' 선택 후 [Add] 버튼을 누릅니다.
- Key 입력: 터미널에서 cat ~/.ssh/id_rsa 명령어로 출력된 내용을 -----BEGIN RSA PRIVATE KEY-----부터 끝까지 전부 복사해서 붙여넣습니다.
![]() |
![]() |


3. 연결테스트 -> 파이프라인(Jenkinsfile) 적용
- New Item 생성

- 구성 -> 파이프라인 스크립트 붙여넣기
pipeline {
agent any
environment {
// 2단계에서 설정한 ID를 입력합니다.
SSH_CRED_ID = "test-key"
REMOTE_HOST = "[ip]"
REMOTE_USER = "testuser"
}
stages {
stage('Remote SSH Test') {
steps {
// SSH Agent 플러그인 필수
sshagent(credentials: ["${SSH_CRED_ID}"]) {
sh "ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} 'echo Connection Success!'"
}
}
}
}
}
- 테스트

728x90
반응형
'테스트 > 자동화' 카테고리의 다른 글
| [Python] Test Frame Work (4) | 2025.08.06 |
|---|


