반응형

(Docker)도커 - 리눅스O/S(Rocky, ubuntu)  컨테이너 설치 및 SSH 접속하기

 

리눅스를 설치하고 SSH 접속하는 방법은 아래와 같습니다.

  1.  docker full 리눅스버전 명령어로 리룩스 가져오기 및 실행하기
  2.  실행된 리눅스 컨테이너에 접속하여 OpenSSH를 설정 하고 접속 가능토록 하기
  3.  외부에서 컨테이너까지 접속하는데 방화벽등이 있다면 접속 허용해주기

 

Rokcy Linux(록키 리눅스) 컨테이너 설치 및 SSH 접속하기

현재 다운 받은 이미지가 하나도 없는 상태부터 진행하겠습니다.

docker images

 

docker full 명령어로 최신 Rocky Linux를 도커허브에서 가져옵니다.

docker pull rockylinux/rockylinux:latest

docker pull

 

docker run 명령어로 도커 이미지를 컨테이너로 실행하여 줍니다.

  • -d 옵션은 백그라운드 옵션입니다.
  • --privileged 옵션을 넣어주어야 록키 리눅스 컨테이너의 주요 자원에 접근이 가능해 집니다.
  • /usr/sbin/init 실행은 록키 리눅스 컨테이너에서 systemctl을 사용하기 위해 실행합니다.
  • 서버 2222포트로 접속시 -> 컨테이너 22포트로 포트포워딩(보내져) 컨테이너에 접속됩니다.
docker run -d --privileged --name rocky_v1 -p 2222:22 rockylinux/rockylinux /usr/sbin/init

docker run

 

docker ps 명령어로 프로세스가 정상적으로 올라왔는지 확인합니다.

docker ps -all

 

docker exec 명령어로 Rocky Linux 컨테이너로 접속을 합니다.

  • -it 옵션은 bash에 접속시 필수로 들어가는 옵션입니다.
  • -u 0 옵션은 bash 접속시 권한을 루트(0)으로 접속시켜 줍니다.
docker exec -itu 0 rocky_v1 /bin/bash

docker exec -itu 0

 

이제는 rockylinux 컨테이너에 접속이 되었습니다. 아래 명령어를 입력하여 필요한 패키지를 설치합니다.

(원하는 패키지가 더 있을 경우 추가로 설치하시기 바랍니다)

  • 패키지 관리지가 yum에서 dnf로 변경되었습니다. (yum도 사용은 가능합니다)
dnf upgrade -y

dnf install net-tools -y
dnf install openssh-server -y
dnf install passwd -y

 

먼저 루트의 패스워드부터 변경을 해줍니다. 너무 쉬운단어가 아닌 문자로 만드시기 바랍니다.

passwd

 

다음은 systemctl status sshd 명령로 ssh의 상태를 확인해 봅니다. 현재 상태는 inactive 상태입니다.

systemctl

 

systemctl start sshd 명령어로 sshd를 시작해 줍니다. 그리고 다시 상태를 확인해보면 active 상태인 것이 확인 됩니다.

systemctl

 

이제 ssh로 접속이 되는지 확인하겠습니다. 서버에서 도커로의 ssh접속부터 확인하겠습니다.

  1. exit 명령어로 록키 리눅스 컨테이너에서 빠져나와 서버로 돌아오기
  2. ssh root@localhost -p2222 명령어로 록키 리눅스 컨테이너에 ssh 접속해보기 (연결 문의시 yes)
  3. 록키 리눅스 컨테이너의 root 비밀번호를 입력하여 컨테이너 쉘 접속하기 

exit -> ssh접속 -> root의 passwd 입력

 

이제 외부에서 putty로 접속을 해보겠습니다.

만약 도커까지 도달하는 경로에 공유기, 서버등에 방화벽과 포트포워딩이 필요하다면 설정하시기 바랍니다.

putty 접속 성공

 

sftp 사용을 위해 파일질라로도 접속을 해봅니다.

파일질라 접속 성공

 

이제 록키 리눅스 컨테이너를 새로운 도커 이미지로 commit(저장)합니다. 이미지 목록도 확인합니다.

# docker commit 컨테이너명 저장할이미지명
docker commit rocky_v1 rocky_ssh

docker images

docker commit
docker images

 

 

Ubuntu Linux(우분투 리눅스) 컨테이너 설치 및 SSH 접속하기

docker full 명령어로 우분투를 가져오고 docker images로 목록을 확인합니다.

docker pull ubuntu
docker images

docker pull

 

docker run 명령어로 우분투 이미지를 컨테이너로 실행시키고 프로세스(PS) 상태를 확인합니다.

  • -it 옵션은 bash 실행을 위해서 들어가는 옵션입니다.
  • 1222 포트로 접속시 -> 22 포트로 포워딩
docker run -d -it --name ubuntu_v1 -p 1222:22 ubuntu
docker ps -all

docker run

 

docker exec 명령어로 우분트 리눅스 컨테이너 bash에 접속을 합니다.

docker exec -it ubuntu_v1 /bin/bash

docker exec

 

다음 명령어를 순차적으로 실행하여 필요한 패키지들을 설치합니다.

apt update && apt upgrade -y

apt install vim -y
apt install net-tools -y
apt install openssh-server -y
# 설치중 나라를 고르는 항목이 나올 수 있습니다.

 

먼저 passwd 명령어로 root의 패스워드를 변경해줍니다.

password

 

다음은 sshd_config 파일에 있는 내용중 PermitRootLogin 부분을 주석을 제거하고 yes로 변경합니다.

sshd_config의 PermitRootLogin yes로 설정

 

다음은 ssh 서비스를 시작합니다. 상태도 확인합니다.

service ssh start
service ssh status

service ssh start

 

이제 우분투 리눅스 컨테이너에서 exit 명령어로 빠져나옵니다. 서버에서 ssh 명령어로 우분투 리눅스 컨테이너로 접속을 해봅니다. 정상적으로 접속이 됩니다.

ssh 접속 성공

 

이제 외부에서 putty로 접속을 해보겠습니다.

만약 도커까지 도달하는 경로에 공유기, 서버등에 방화벽과 포트포워딩이 필요하다면 설정하시기 바랍니다.

putty로 접속 성공

 

만약 파일질라에서 알고리즘 어쩌구 하면서 접속이 안되는 경우가 있으신 분들은 최신버전의 파일질라를 재설치 후 접속하시기 바랍니다.

 

(Docker)도커 전체보기

 

'(Docker)도커' 카테고리의 글 목록

전산 관련 경험을 기록 하는 곳

reddb.tistory.com

 

반응형