서버 설정 · 2 min read · Dec 15, 2025

Ubuntu 18.04 LTS에서 VSFTPD 서버 설치 및 구성

Vsftpd는 매우 안전한 FTP 데몬으로 알려져 있으며, Unix와 유사한 시스템을 위한 FTP 서버입니다. FTP는 두 컴퓨터 간에 파일을 업로드/다운로드하는 데 사용되는 가장 널리 사용되는 표준 네트워크 프로토콜입니다. 기본적으로 FTP는 사용자 자격 증명과 함께 데이터를 암호화 없이 전송하기 때문에 안전하지 않습니다.

이 튜토리얼에서는 Ubuntu 18.04 서버에서 SSL/TLS 지원과 함께 Vsftpd를 설치하는 방법을 배웁니다.

요구 사항

  • Ubuntu 18.04를 실행하는 서버.
  • sudo 권한이 있는 비루트 사용자.
  • 정적 IP 주소 192.168.0.102가 구성되어 있습니다.

Vsftpd 설치

기본적으로 Vsftpd는 Ubuntu 18.04 기본 저장소에 있습니다. 따라서 다음 명령어를 실행하여 쉽게 설치할 수 있습니다:

sudo apt-get install vsftpd -y

Vsftpd가 설치되면 Vsftpd 서비스를 시작하고 부팅 시 자동으로 시작되도록 설정합니다:

sudo systemctl start vsftpd  
sudo systemctl enable vsftpd

FTP를 위한 디렉토리 구조 생성

시작하기 전에 FTP 액세스를 위한 사용자를 생성해야 합니다.

다음 명령어로 사용자를 생성할 수 있습니다:

sudo adduser vsftp

다음으로, ftp 디렉토리를 생성하고 소유권을 설정합니다:

sudo mkdir /home/vsftp/ftp  
sudo chown nobody:nogroup /home/vsftp/ftp  
sudo chmod a-w /home/vsftp/ftp

다음으로, 파일을 업로드할 수 있는 디렉토리를 생성하고 vsftp 사용자에게 소유권을 부여합니다:

sudo mkdir /home/vsftp/ftp/test  
sudo chown vsftp:vsftp /home/vsftp/ftp/test

Vsftpd 구성

다음으로, FTP 서버를 설정하기 위해 몇 가지 구성을 수행해야 합니다.

먼저, 원본 구성 파일의 백업을 만듭니다:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

다음으로, vsftpd.conf 파일을 엽니다:

sudo nano /etc/vsftpd.conf

다음 줄을 추가합니다:

 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
 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
 local_root=/home/$USER/ftp
 userlist_enable=YES
 userlist_file=/etc/vsftpd.userlist
 userlist_deny=NO

파일을 저장하고 닫습니다. 위 구성을 필요에 따라 변경할 수 있습니다.

다음으로, FTP 액세스를 허용하기 위해 vsftp 사용자를 /etc/vsftpd.userlist 파일에 추가해야 합니다:

sudo nano /etc/vsftpd.userlist

다음 줄을 추가합니다:

vsftp

파일을 저장하고 닫은 후, 이러한 변경 사항을 적용하기 위해 Vsftpd 서비스를 재시작합니다:

sudo systemctl restart vsftpd

이제 웹 브라우저를 열고 URL ftp://192.168.0.102를 입력하면 FTP에 액세스하기 위해 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다. vsftp 사용자 이름과 비밀번호를 입력한 후 Ok 버튼을 클릭합니다. 다음 페이지가 표시되어야 합니다:

FTP로 서버에 접근

SSL/TLS를 사용하여 Vsftpd 보안 설정

다음으로, FTP를 통해 전송되는 데이터를 암호화하기 위해 SSL/TLS를 활성화해야 합니다.

이를 위해 인증서를 생성해야 합니다. 다음 명령어를 사용하여 OpenSSL로 인증서를 생성할 수 있습니다:

sudo mkdir /etc/cert  
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem

다음으로, vsftpd.conf 파일을 수정하고 몇 가지 변경을 해야 합니다:

sudo nano /etc/vsftpd.conf

다음 줄을 추가합니다:

rsa_cert_file=/etc/cert/vsftpd.pem
rsa_private_key_file=/etc/cert/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

파일을 저장한 후, 다음 명령어를 사용하여 Vsftpd를 재시작합니다:

sudo systemctl restart vsftpd

SSL/TLS를 통한 FTP 액세스

브라우저를 통해 SSL/TLS를 통해 FTP 서버에 액세스할 수 없습니다. 따라서 FTP 서버에 액세스하기 위해 FileZilla FTP 클라이언트를 설치해야 합니다. FileZilla는 SSL/TLS를 통한 FTP를 지원하기 때문입니다.

다음 명령어를 사용하여 FileZilla 클라이언트를 설치할 수 있습니다:

sudo apt-get install filezilla -y

FileZilla가 설치되면 Unity 대시에서 열 수 있습니다. 다음 이미지를 볼 수 있어야 합니다:

FileZilla FTP 클라이언트

이제 파일>사이트 관리자를 클릭합니다. 다음 이미지를 볼 수 있어야 합니다:

FileZilla에 사이트 추가

여기에서 새 사이트를 추가하고 호스트/사이트 이름을 제공하고 IP 주소를 추가하며 사용할 프로토콜, 암호화 및 로그인 유형을 정의합니다. 그런 다음 연결 버튼을 클릭합니다. 다음 이미지를 볼 수 있어야 합니다:

SSL 인증서 수락

이제 SSL/TLS 연결에 사용되는 인증서를 확인하고, FTP 서버에 연결하기 위해 다시 확인을 클릭합니다. 다음 페이지에서 FTP 서버의 내용을 볼 수 있어야 합니다:

Vsftpd 서버에 대한 FTP 연결이 설정됨

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.