Jenkins – Publish over SSH 플러그인 키 설정

Publish over SSH는 Jenkins에서 빌드를 마치고, 특정 서버로 배포를 할 때 사용하는 플러그인이다.

SSH 접속을 위해서는 User ID와 비밀번호 또는 개인키/공개키가 필요하다. 우리는 개인키/공개키를 사용할 것이므로 비밀번호는 필요하지 않다.

혹여나 사용하는데 필요한 개인키/공개키 쌍이 준비되어 있지 않다면, 그림 1과 같이 ssh-keygen을 이용해서 키 쌍을 준비해야 한다.

그림 1. ssh-keygen 이용하여 개인키/공개키 쌍 만들기

* Publish over SSH 플러그인을 우선 설치한다.

* Jenkins 관리 > 시스템 설정 > SSH Servers로 이동한다.

* SSH Servers에 항목이 없다면, “추가” 버튼을 클릭한 후, 아래의 내용을 기입한다.

Name에는 식별할 수 있는 이름을 적어준다.
Hostname에 접속할 IP나 도메인을 적어준다.
Username에는 접속할 사용자 이름을 적어준다.
Remote Directory에는 접속하고자 하는 디렉토리를 입력한다.

그림 2. SSH Server 기본 정보 입력 예시

* 우측 하단에 있는 “고급” 버튼을 누르면 고급 항목들이 펼쳐진다.

그림 3. 고급 버튼 위치

* “Use password authentication, or use a different key” 여기에 체크를 해 준 후,
Key에 SSH에 사용할 개인키를 붙여넣어주면 Jenkins 상의 개인키 설정이 끝난다.

그림 4. 개인키 입력 화면

* 배포 대상인 서버로 접속한 후, 그림 5와 같이 사용하려는 공개키를 ssh-rsa부터 끝까지 모두 복사해서 ~/.ssh/authorized_keys 파일에 공개키를 한 줄 추가해 준다. authorized_keys 파일이 없다면 새로 작성하면 된다.

그림 5. 공개키 내용 열람

* Jenkins의 SSH Server 항목 우측 하단에 Test Configuration 버튼을 누른다.

그림 6. Test Configuration 버튼 위치

* 왼쪽에 Success라고 뜨는지 확인했다면 SSH 접속을 위한 개인키/공개키 설정이 끝난다.

그림 6. 성공 메시지

만약 성공하지 못한다면, Success 라는 내용 대신에 오류 메시지로 문제점을 알려줄 것이다. 해당 오류에 대해 구글링 후 문제를 해결하면 된다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다