Cloud Computing/GCP

GCP + Docker + Filezilla 를 이용한 sftp 서버 구축

dtstory 2022. 10. 6. 15:55

# 파일질라를 사용하기 위한, 컨테이너(ubunut) 생성, 실행

  - 포트 포워딩 : 32222:22
  - 볼륨명 : mount_vol
  - 컨테이너이름 : c_sftp
  - 패스워드 : password
  - 이미지명 : ubuntu

사용자가 지정하는 위의 조건들을 반영한 명령은 아래와 같다.

(아직 볼륨을 생성하지 못하였다면, 아래의 링크를 을 참고해서, 볼륨을 create 먼저 진행하길 바란다.)

2022.09.22 - [Data Engineering(Pipeline, Hadoop...)/Docker] - Docker 파헤치기 2(데이터 공유 및 볼륨 마운트)

docker run -it -p 32222:22 \
-v mount_vol:/home/mount_vol \
--name c_sftp  -e ROOT=TRUE -e PASSWORD=password ubuntu

--> 생성과 동시에 실행이 된다.

# ssh  설치

apt-get update
apt-get install ssh

 

진행을 하다보면, Y/n을 선택하는 화면이 나올 것이다. 이럴 땐 무조건 Y가 국룰
Y이후 진행하다보면, 무슨내용인진 모르겠지만 failed를 보게되는데 가볍게 무시
실행이 거의 완료되고 난 후 denied를 보게되는데 이 또한 가볍게 무시

 

# vim 편집기  설치

apt-get install vim

Y가 국룰

 

 


# ssh키 생성

cd ~/
ssh-keygen -t rsa -P '' -f ~/.ssh/id_dsa


# sshd 폴더 생성

mkdir /var/run/sshd


# run & 적용

/usr/sbin/sshd
source ~/.bashrc



# 계정 추가

adduser [계정명]
adduser c_sftp

패스워드를 입력(확인을 위해 2번 입력) 후, 계정에 대한 상세 정보를 입력하면 된다. 엔터 연타를 통해 이 과정은 스킵하도록 한다. 마지막에 정보가 올바른지 Y/n으로 물어볼 때, Y를 누르면 user가 추가된 것이다.

(패스워드는 추후에, sftp 비밀번호로 사용될 것이기에 꼭 기억하고 있도록 한다.)

 


# 해당 포트에 대한 GCP 방화벽 열기

GCP 포트 방화벽을 여는 방법은 아래의 링크를 참조하도록 한다.

2022.10.06 - [Cloud Computing/GCP] - GCP 포트(port) 방화벽 해제

 

 

# 파일질라 접속

파일질라를 열고, 호스트(ip), 포워딩 된 포트번호 32222 , 추가된 유저명과 패스워드를 입력한 후, 연결을 누르면 연결이 될 것이다. 나는 여기까지만 하면, 정상적으로 연결이 되었는데 혹자 중 연결이 되지 않는 사람이 있다면 아래의 명령을 통해, 스크립트를 수정하기를 바란다.

 

--------------------------------------------------------------------------------------------------------------------------------------------------

# 스크립트 변경

vim /etc/ssh/sshd_config

해당 컨피그 파일을 열고, 제일 아래쪽으로 스크롤을 내리다보면 아래와 같이 쓰여진 부분이 보일 것이다.

이 부분을 아래와 같이 수정하도록 한다.

Subsystem sftp internal-sftp

그런 다음 저장을 한 후, vim 편집기에서 빠져나오도록 한다. 그런 다음 다시 파일질라를 통해 접속해보도록 하자.

728x90