Jenkins에서 SSH를 사용해 원격 서버 명령 실행하기: jenkins 사용자 설정 가이드
IT/Server
2024. 11. 5. 22:38
728x90
Jenkins를 통해 원격 서버에 명령을 실행할 때,
기본적으로 Jenkins가 사용하는 jenkins 사용자 계정으로 SSH 설정을 해야 합니다.
이 가이드는 Jenkins 서버의 jenkins 사용자가 원격 서버에 SSH 접근을 통해 명령을 실행할 수 있도록 설정하는 과정을 설명합니다.
1. jenkins 사용자 계정의 SSH 디렉터리 설정
Jenkins는 일반적으로 jenkins 사용자 계정으로 실행됩니다. 따라서 jenkins 사용자 계정의 SSH 디렉터리를 설정해주어야 합니다.
sudo mkdir -p /var/lib/jenkins/.ssh
sudo chown jenkins:jenkins /var/lib/jenkins/.ssh
sudo chmod 700 /var/lib/jenkins/.ssh
2. SSH 키 생성
이제 jenkins 사용자의 SSH 키를 생성합니다. jenkins 사용자의 홈 디렉터리에서 SSH 키를 생성하려면, 다음과 같이 명령을 실행합니다.
sudo -u jenkins ssh-keygen -t rsa -b 4096 -C "jenkins@your-server" -f /var/lib/jenkins/.ssh/id_rsa
3. 원격 서버에 공개 키 추가
생성한 공개 키를 원격 서버의 authorized_keys에 추가하여 jenkins 사용자가 원격 서버에 접근할 수 있도록 설정합니다. 아래 명령으로 공개 키를 출력합니다.
sudo cat /var/lib/jenkins/.ssh/id_rsa.pub
출력된 공개 키를 복사하여, 원격 서버의 접속 대상 계정의 ~/.ssh/authorized_keys 파일에 붙여넣습니다.
4. 원격 서버 접속 테스트
Jenkins 파이프라인에서 jenkins 사용자가 원격 서버에 접근할 수 있는지 테스트합니다.
아래와 같은 간단한 파이프라인 스크립트를 사용하여 연결 상태를 확인할 수 있습니다.
pipeline {
agent any
stages {
stage('Test SSH Connection') {
steps {
sh 'ssh -o StrictHostKeyChecking=no user@remoteHost "echo Connected"'
}
}
}
}
'공감' 및 '좋아요'는 글쓴이에게 큰 힘이 됩니다!
'IT > Server' 카테고리의 다른 글
curl ifconfig.me로 공인 IP 주소 확인하기 (0) | 2024.11.06 |
---|---|
Nginx 오류 해결: "could not build server_names_hash, you should increase server_names_hash_bucket_size: 64" (0) | 2024.06.27 |
PHP에서 텍스트 파일 생성 및 다운로드하기 (0) | 2024.06.26 |
Telnet을 사용하여 열린 포트 확인하는 방법: IP 주소와 포트 테스트하기 (0) | 2024.06.26 |
Git 특정계정으로 Pull 받는 방법 (0) | 2024.06.26 |