서버 설정 · 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 -yVsftpd가 설치되면 Vsftpd 서비스를 시작하고 부팅 시 자동으로 시작되도록 설정합니다:
sudo systemctl start vsftpd
sudo systemctl enable vsftpdFTP를 위한 디렉토리 구조 생성
시작하기 전에 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/testVsftpd 구성
다음으로, 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 버튼을 클릭합니다. 다음 페이지가 표시되어야 합니다:

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 vsftpdSSL/TLS를 통한 FTP 액세스
브라우저를 통해 SSL/TLS를 통해 FTP 서버에 액세스할 수 없습니다. 따라서 FTP 서버에 액세스하기 위해 FileZilla FTP 클라이언트를 설치해야 합니다. FileZilla는 SSL/TLS를 통한 FTP를 지원하기 때문입니다.
다음 명령어를 사용하여 FileZilla 클라이언트를 설치할 수 있습니다:
sudo apt-get install filezilla -yFileZilla가 설치되면 Unity 대시에서 열 수 있습니다. 다음 이미지를 볼 수 있어야 합니다:

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

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

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

새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.