study_IT/DevOps

Docker 컨테이너에 SSH 서버 설치하기

맛집줘 2023. 10. 19. 20:44
728x90
반응형

1. 컨테이너에 SSH Server 설치 및 설정

1) 컨테이너 내부로 SSH 서버 설치

docker exec -it my-was-ssh /bin/bash      // my-was-ssh 컨테이너 접속
apt-get update
apt-get install openssh-server         // SSH Server 설치
service ssh start                      // SSH Server 시작

service --status-all                   // 실행 중인 서비스 출력해서 확인


2) SSH 설정 파일 수정 (root 계정 접속 가능하게 설정)

vi /etc/ssh/sshd_config
   
`PermitRootLogin yes`로 수정
`Port 22` 주석 해제
   
service ssh restart   // ssh 서버 재시작

 

3) 컨테이너의 비밀번호 변경

passwd
원하는 비밀번호 입력

 


4) 다른 콘솔에서 SSH 접속 확인

   ssh root@[ssh가 설치된 컨테이너의 IP]
   설정한 비밀번호 입력



2. Jenkins에서 SSH 연결 설정

1) Jenkins SSH 플러그인 설치
   Jenkins 대시보드에서 "Manage Jenkins" -> "Manage Plugins"로 이동하여 "Publish over SSH" 플러그인을 검색하고 설치한 후 Jenkins를 재시작합니다.

2) SSH 서버 설정
   Jenkins 대시보드에서 "Manage Jenkins" -> "System"로 이동합니다. "SSH Servers" 섹션에서 다음과 같이 설정합니다.
   - Name : my-was-ssh
   - HostName : 컨테이너의 공인 IP 주소
   - Username : root
   - Remote Directory : /usr/local/tomcat/webapps
   
3) 고급 옵션 설정
   "Advanced" 버튼을 클릭하고 "Use password authentication, or use a different key" 옵션을 체크합니다. 그리고 앞서 설정한 SSH 서버의 비밀번호 또는 passphrase, 포트 등을 입력합니다.

4) 연결 테스트
   설정을 저장한 후 "Test Configuration" 버튼을 클릭하여 연결이 성공적인지 확인합니다. 성공하면 설정이 올바르게 완료된 것입니다.

이제 컨테이너에 SSH 서버가 설치되었고, Jenkins에서 해당 SSH 서버에 연결할 수 있도록 설정이 완료되었습니다. 이를 통해 Jenkins는 SSH를 통해 컨테이너에 파일을 전송하거나 원격 명령을 실행할 수 있습니다.

728x90
반응형