서버 설정 · 3 min read · Sep 23, 2025
Debian 11에서 vsftpd FTP 서버를 설치하고 TLS로 보안 설정하는 방법

파일 전송 프로토콜 또는 FTP는 매우 오래된 네트워크 프로토콜 중 하나로 가장 잘 알려진 프로토콜입니다. 요즘 SFTP나 SCP에 비해 보안성이 떨어지지만 여전히 서버와 클라이언트 간의 파일 전송을 위해 많은 사용자들이 선택하는 첫 번째 옵션입니다. FTP는 사용자 자격 증명을 암호화 없이 전송하기 때문에 안전하지 않은 것으로 알려져 있습니다.
현재 FTPD, VSFTPD, PROFTPD, pureftpd와 같은 다양한 오픈 소스 FTP 서버가 있습니다. 그 중 VSFTPD는 두 시스템 간의 파일 전송을 위한 매우 안전하고 빠르며 가장 널리 사용되는 프로토콜입니다.
VSFTPD는 SSL, IPv6, 명시적 및 암시적 FTPS를 지원하는 “매우 안전한 파일 전송 프로토콜 데몬”으로도 알려져 있습니다.
이 가이드에서는 Debian 11에서 vsftpd FTP 서버를 설치하는 방법을 보여드리겠습니다.
전제 조건
Debian 11을 실행하는 서버.
sudo 권한이 있는 비루트 사용자.
1. Vsftpd 설치
설치를 시작하기 전에 터미널에서 다음 명령어를 실행하여 Debian 11 서버를 업데이트하세요:
sudo apt update -y
sudo apt upgrade -yDebian은 매우 큰 저장소를 가지고 있으며 vsftpd 패키지는 공식 저장소에 있습니다. 따라서 다음 명령어를 실행하여 쉽게 vsftpd를 설치할 수 있습니다:
sudo apt install vsftpd -y패키지 설치 후, Vsftpd 서비스를 시작하고 서비스 상태를 확인한 후 부팅 시 서비스를 활성화합니다.
sudo systemctl start vsftpd
sudo systemctl status vsftpd
systemctl enable vsftpd.service2. FTP 사용자 생성 및 FTP 로그인 구성
이제 FTP를 위한 새 사용자 계정을 생성합니다. 이 사용자를 사용하여 나중에 FTP 서버에 로그인할 것입니다.
sudo adduser sohanvsftpd.userlist 파일에 추가된 사용자는 FTP 서버에 접근할 수 있는 권한이 있습니다.
다음으로, sohan 사용자를 vsftpd 사용자 목록에 추가해야 합니다. 파일을 열고 다음 명령어를 실행하여 사용자를 추가합니다:
echo "sohan" | sudo tee -a /etc/vsftpd.userlist3. FTP 사용자 디렉토리 생성
다음으로, FTP 사용자에 대한 FTP 디렉토리를 생성하고 다음 명령어로 소유권을 설정합니다:
sudo mkdir -p /home/sohan/ftp_directory
sudo chown nobody:nogroup /home/sohan/ftp_directory
sudo chmod a-w /home/sohan/ftp_directory이제 파일을 업로드할 수 있는 디렉토리를 생성하고 sohan 사용자에게 소유권을 부여합니다:
sudo mkdir -p /home/sohan/ftp_directory/ftp_datasudo chown sohan:sohan /home/sohan/ftp_directory/ftp_datacd /home/sohan/ftp_directory/chmod -R 777 ftp_data4. Vsftpd 구성
다음으로, FTP 서버를 설정하기 위해 몇 가지 기본 매개변수를 변경해야 합니다.
먼저, 원본 vsftpd 구성 파일의 백업 복사본을 만듭니다.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bakFTP 서버에서는 기본적으로 익명 사용자에게 접근 권한이 부여됩니다. FTP 서버를 더 안전하게 만들기 위해 익명 사용자 로그인을 비활성화하고 특정 사용자에게만 접근 권한을 부여합니다.
다음으로, vsftpd.conf 파일을 열고 아래와 같이 변경합니다:
vim /etc/vsftpd.confanonymous_enable=NO
local_enable=YES구성에서 변경해야 할 다른 사항이 있습니다. 먼저 vsftpd.conf를 엽니다.
sudo vim /etc/vsftpd.conf다음으로, vsftpd.conf에 다음 줄이 포함되어 있는지 확인합니다:
listen=NO
listen_ipv6=YES
anonymous_enable=NO
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
user_sub_token=$USER
local_root=/home/$USER/ftp_directory
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO파일을 저장하고 닫습니다. 위 구성을 필요에 따라 변경할 수 있습니다.
이제 vsftpd 서비스를 재시작하고 다음 명령어를 실행하여 서비스 상태를 확인합니다:
sudo systemctl restart vsftpd다음으로, 터미널에서 다음 명령어를 실행하여 vsftpd 서비스가 실행 중인지 확인합니다:
sudo systemctl status vsftpd5. 방화벽에서 vsftpd 허용 및 vsftpd 서버 접근
다음으로, 방화벽을 사용 중이라면 다음 명령어를 실행하여 포트 21과 포트 22를 허용합니다:
sudo ufw allow 21/tcp
sudo ufw allow 22/tcp그런 다음 변경 사항을 적용하기 위해 방화벽을 다시 로드합니다:
sudo ufw reload다음으로, FileZilla와 같은 FTP 클라이언트를 열고 서버 세부정보를 입력합니다. 프로토콜, 호스트, 사용자:

이제 연결을 클릭한 후 비밀번호를 입력합니다:

그런 다음, 아래와 같은 세부정보가 표시되며, 확인을 클릭합니다.

이 시점에서 FTP 서버에 연결되었으며 파일/폴더를 업로드하고 다운로드할 수 있습니다.

6. SSL/TLS를 사용하여 Vsftpd 보안 설정
암호화된 데이터를 FTP를 통해 전송하고 싶다고 가정해 보겠습니다. 이를 위해 SSL 인증서를 생성하고 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 vim /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 vsftpd7. SSL/TLS를 통한 FTP 접근
FileZilla FTP 클라이언트를 열고 파일 > 사이트 관리자에 가십시오. 여기에서 새 사이트 추가를 클릭하고 호스트/사이트 이름을 입력하고 IP 주소를 추가하며 사용할 프로토콜을 정의하고 암호화: TLS를 통한 명시적 FTP를 요구하고 로그인 유형을 설정합니다. 그런 다음 연결 버튼을 클릭합니다. 다음 이미지를 보아야 합니다:

다음으로 비밀번호를 입력합니다:

다음으로 SSL 인증서를 보게 되며, 인증서 세부정보를 확인하고 확인을 클릭합니다.

마지막으로 FTP 서버 내용을 보게 되며 한 시스템에서 다른 시스템으로 데이터를 안전하게 전송할 수 있습니다.

결론
위 가이드에서는 Debian 11에 VSFTPD 서버를 설치했습니다. 또한 비암호화 및 암호화된 연결을 통해 SSL 인증서를 사용하여 연결하는 방법을 배웠습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.