본문 바로가기
프로그래밍/젠킨스(Jenkins)

젠킨스(Jenkins) Publish over SSH 사용하기

by bantomak 2024. 12. 9.
반응형

젠킨스(Jenkins) 머신에서 SSH 키 발급하기

SSH를 통한 보안 통신을 하기 위해서는 젠킨스 머신에서 발급한 SSH 공개키(Public key)가 필요하다.

이를 위해서 젠킨스가 설치된 머신에서 SSH키를 발급하도록 하자.

$ ssh-keygen -t rsa

해당 커맨드를 통해서 SSH 키가 생성되었다.

/var/jenkins_home/.ssh/ 폴더에 생성된 ssh 키

  • id_rsa
  • id_rsa.pub

.pub가 붙은 파일이 공개키(public key),

.pub가 붙지 않은 파일은 개인키(private key)이다.

 

해당 파일의 내용이 궁금하다면 해당 커맨드로 내용 확인이 가능하다.

$ cat id_rsa.pub

원격지(remote)에 생성한 SSH 공개키 등록하기

$ cd /home/원격지계정
$ mkdir .ssh
$ cd .ssh
$ vi authorized_keys

vi 커맨드로 authorized_keys 파일을 생성 및 수정해 주도록 하자.

파일에 적어야하는 내용은 위에서 확인했던 id_rsa.pub 파일의 내용을 복사, 붙여 넣기 해주면 된다.

$ cat id_rsa.pub

젠킨스에서 Publish over SSH 플러그인 설치하기

이제 젠킨스 설정에서 추가 작업을 해주자.

홈화면 > Jenkins 관리 > System > Publish over SSH

(만약 Publish over SSH가 보이지 않는다면 Publish over SSH 플러그인을 설치해 주자.)

 

Publish Over SSH

Send build artifacts over SSH

plugins.jenkins.io

  • Passphrase : 키 발급 시 별도로 설정하지 않아서 빈칸으로 설정했다.
  • Path to key : 젠킨스 머신에서 ssh 키가 발급된 위치를 설정했다. (/var/jenkins_home/.ssh/id_rsa)

SSH Server 설정

  • Name : 아무렇게나 입력 가능
  • Hostname : 원격지의 IP주소를 입력하자.
  • Username : 원격지 머신의 계정 이름을 입력하자.

입력 이후에 오른쪽 하단에 'Test Configuration' 버튼을 클릭해서 원격지에 정상적으로 ssh 접속이 되는지 확인하자.

 

이제 프로젝트 구성 화면으로 이동하자.

  • Name : 위에서 등록한 원격지를 선택한다.
  • Source files : (/var/jenkins_home/workspace/[프로젝트이름])로 기본 경로가 잡혀있다. 소스 파일을 지정한다.
  • Remove prefix : 경로에서 소스 파일의 앞 경로를 입력한다.
  • Remote directory : 소스 파일을 원격지에 업로드할 위치를 지정한다.
  • Exec command : 실행하고자 하는 command가 있다면 추가해 주자.

정리하자면

publish over SSH를 통해서 원격지에 파일을 전송하거나 원격지에서 원하는 커맨드를 실행할 수 있다. 보통은 이를 이용하여 빌드한 서버 파일을 전송하고 해당 파일을 실행하는 식으로 자주 사용한다.

함께 읽으면 좋은 글

 

현존 최강의 암호화 알고리즘 RSA

RSA 암호화 알고리즘컴퓨터 연산 과정의 한계를 이용해서 만든 최강의 보안 RSA는 세 명의 수학자인 로널드 라이베스트(Ron Rivest), 아디 샤미르(Adi Shamir), 레너드 애들먼(Leonard Adleman)이 만들었다. 

jettstream.tistory.com

댓글