Infra/Docker

[Docker] 도커 컨테이너 ssh 설정 (1. 일반 이미지, 2. Linux 이미지)

당닝 2021. 12. 1. 10:28
728x90

두 가지 방법에 대해 다루겠다.

1. 일반 이미지 사용 시
2. 리눅스 이미지 사용 시 (CentOS, Ubuntu 등)

 

 

1. 일반 이미지 사용 시

apt-get update
apt-get install net-tools vim openssh-server
  • apt-get을 사용하기 위해선 먼저 update를 해줘야 한다.
  • net-tools: 네트워크 관련
  • vim: 에디터
  • openssh-server: ssh 관련

 

vi /etc/ssh/sshd_config

PermitRootLogin을 찾아 주석을 해제하고 yes로 변경한다.

 

service ssh start

ssh 시작

 

netstat -ntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN

네트워크 상태를 확인한다. 다음과 같이 22번 포트가 작동하는 걸 확인할 수 있다.

 

 

 

2. 리눅스 이미지 사용 시

CentOS7로 예를 들겠다.

 

docker run --privileged -d --name mycent7 centos:7 init

ssh 설정을 위해서 --privileged 옵션이 필수이다.

 

docker exec -it mycent7 bash

mycent7(컨테이너명)을 실행시킨다

 

yum install net-tools openssh-server
  • net-tools: 네트워크 관련
  • openssh-server: ssh 관련

 

systemctl start sshd
systemctl status sshd

ssh를 시작하고 상태를 확인한다.

 

netstat -ntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN

네트워크 상태를 확인한다. 다음과 같이 22번 포트가 작동하는 걸 확인할 수 있다.

 

728x90