virtualbox ubuntu1804 ftp 설치 및 접근(sftp)

들어가기

개발환경 용도로 사용하려는 ubuntu 1804 이미지에 ftp를 설치하고 호스트PC인 windows에서 파일질라로 접근해서 파일을 전송 해보려 한다.

아 별것 아닌데, 리눅스를 잘 몰라서 엄청난 시간을 헤매었다.

결론으로 sftp 접근으로 성공하였다.

해당 내용은 실 서버로 사용하는 ubuntu ftp 접근 설명이 아니라, 로컬에서 virtualbox에 설치된 개발환경용 ubuntu 1804에 ftp 설치 방법을 설명하는 것이다.

ftp 사용이 되는것이 목적이므로, 방화벽 설명등 기타 내용은 포함하고 있지 않다.


virtualbox에서 ubuntu ftp 포트포워딩 설정

일단 virtualbox에서 해당 이미지의 설정으로 들어가 아래처럼 ftp 용 포트포워딩 설정을 해주자.

아 참고로 난 NAT 네트워크 설정으로 사용중이다.

말 그대로 호스트PC에 22포트로 요청을 게스트IP 10.0.2.15:22로 포트포워딩 한다는 설정이다.

게스트IP는 ifconfig로 확인하시길, 별다른 설정을 안했다면 위와 동일 할 것이다.

우분투에 FTP 설치하기

이제 해당 우분투 이미지를 실행하고 FTP 서버를 설치하자.

아래 명령어로 패키지를 최신화 하고 업그레이드를 일단 하자.

1
2
sudo apt update
sudo apt upgrade

그리고 아래 명령어로 ftp를 설치하자.

1
sudo apt-get install vsftpd

이제 ftp설정을 해주자

1
sudo gedit /etc/vsftpd.conf

그리고 그 내용을 모두 지우고 아래 내용으로 치환하자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=11000
user_sub_token=$USER

vsftpd.conf 파일을 저장하고, ftp를 재시작하고 서비스가 항상 동작하도록 설정하자.

아래 명령어를 순차적으로 입력하자.

1
2
3
sudo systemctl stop vsftpd.service
sudo systemctl start vsftpd.service
sudo systemctl enable vsftpd.service

그리고 아래 명령어로 서비스가 재대로 동작중인지 확인하자.

1
sudo systemctl status vsftpd

이제 virtualbox ubuntu18.04에서 ftp로 접속해서 동작을 하는지 한번 보자.

1
ftp 127.0.0.1

터미널 창에 위 명령어로 접속을 시도해보자.

위처럼 접근이 가능한지 확인 할수 있다.

호스트 PC(windows10)에서 파일질라로 게스트PC(Ubuntu1804)에 접근하기

파일질라는 무료라 구글에서 검색해서 받으면 된다.

파일질라를 열자.

프로토콜을 SFTP로 설정하고 계정정보를 입력하고 연결해보자.

위처럼 접속을 된 것을 확인했다.

파일 업로드 다운로드 모두 확인함.

끝!!!

참고자료

https://dejavuqa.tistory.com/251

https://nov19.tistory.com/64