서버 설정 · 4 min read · Dec 18, 2025
Debian 8 (Jessie)에서 TLS로 vsftpd 설치 및 구성하는 방법
이 문서에서는 Debian 8 서버에서 TLS가 활성화된 vsftpd 서버를 설정하는 방법과 FileZilla를 사용하여 FTP 서버에 접근하는 방법을 설명합니다. FTP는 기본적으로 모든 비밀번호와 모든 데이터가 평문으로 전송되기 때문에 매우 안전하지 않은 프로토콜입니다. TLS를 사용하면 전체 통신을 암호화할 수 있어 FTP를 훨씬 더 안전하게 만들 수 있습니다.
1 사전 참고
이 튜토리얼에서는 호스트 이름 server1.example.com과 IP 주소 192.168.1.100을 사용합니다. 이러한 설정은 귀하의 경우 다를 수 있으므로 적절한 곳에서 교체해야 합니다. 이 튜토리얼의 기초로 Debian 8 최소 서버 설정을 사용합니다.
2 vsftpd 및 OpenSSL 설치
TLS에 OpenSSL이 필요합니다. vsftpd와 OpenSSL을 설치하려면 다음과 같이 실행합니다:
apt-get -y install vsftpd openssl3 TLS용 SSL 인증서 생성
TLS를 사용하기 위해 SSL 인증서를 생성해야 합니다. 저는 /etc/ssl/private에 생성합니다. 디렉토리가 존재하지 않으면 지금 생성합니다::
mkdir -p /etc/ssl/private
chmod 700 /etc/ssl/private그 후, 다음과 같이 SSL 인증서를 생성할 수 있습니다:
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem국가 이름 (2자리 코드) [AU]: <– 귀하의 국가 이름을 입력하세요 (예: “DE”).
주 또는 지방 이름 (전체 이름) [Some-State]: <– 귀하의 주 또는 지방 이름을 입력하세요.
지역 이름 (예: 도시) []: <– 귀하의 도시를 입력하세요.
조직 이름 (예: 회사) [Internet Widgits Pty Ltd]: <– 귀하의 조직 이름을 입력하세요 (예: 귀하의 회사 이름).
조직 단위 이름 (예: 섹션) []: <– 귀하의 조직 단위 이름을 입력하세요 (예: “IT 부서”).
공통 이름 (예: 귀하의 이름) []: <– 시스템의 완전한 도메인 이름을 입력하세요 (예: “server1.example.com”).
이메일 주소 []: <– 귀하의 이메일 주소를 입력하세요.
4 vsftpd에서 TLS 활성화
vsftpd에서 TLS를 활성화하려면 /etc/vsftpd.conf를 엽니다…
nano /etc/vsftpd.conf… 다음 옵션을 추가하거나 변경합니다:
[...]
# SSL 활성화
ssl_enable=YES
# 익명 사용자가 보안 SSL 연결을 사용할 수 있도록 허용
allow_anon_ssl=YES
# 모든 비익명 로그인은 데이터 연결에서 데이터를 전송하고 수신하기 위해 보안 SSL 연결을 사용해야 합니다.
force_local_data_ssl=YES
# 모든 비익명 로그인은 비밀번호를 전송하기 위해 보안 SSL 연결을 사용해야 합니다.
force_local_logins_ssl=YES
# TLS v1 프로토콜 연결 허용. TLS v1 연결이 선호됩니다
ssl_tlsv1=YES
# SSL v2 프로토콜 연결 허용. TLS v1 연결이 선호됩니다
ssl_sslv2=NO
# SSL v3 프로토콜 연결 허용. TLS v1 연결이 선호됩니다
ssl_sslv3=NO
# SSL 세션 재사용 비활성화 (WinSCP에서 필요)
require_ssl_reuse=NO
# vsftpd가 암호화된 SSL 연결을 위해 허용할 SSL 암호화 선택 (FileZilla에서 필요)
ssl_ciphers=HIGH
# 이 옵션은 SSL 암호화 연결에 사용할 RSA 인증서의 위치를 지정합니다.
rsa_cert_file=/etc/ssl/private/vsftpd.pem
[...] force_local_logins_ssl=YES 및 force_local_data_ssl=YES를 사용하면 TLS 연결만 허용됩니다 (이렇게 하면 TLS 지원이 없는 오래된 FTP 클라이언트를 사용하는 사용자는 차단됩니다); force_local_logins_ssl=NO 및 force_local_data_ssl=NO를 사용하면 FTP 클라이언트가 지원하는 것에 따라 TLS 및 비TLS 연결이 모두 허용됩니다.
TLS 옵션 외에도 비익명 로그인을 활성화하기 위해 vsftpd.conf에 다음 설정이 포함되어 있는지 확인하십시오:
[...]
# 로컬 사용자가 로그인할 수 있도록 허용하려면 주석을 제거하십시오.
local_enable=YES
#
# FTP 쓰기 명령의 모든 형태를 활성화하려면 주석을 제거하십시오.
write_enable=YES
#
# 로컬 사용자의 기본 umask는 077입니다. 사용자가 이를 예상하는 경우 022로 변경할 수 있습니다.
# (022는 대부분의 다른 ftpd에서 사용됨)
local_umask=022
[...] 그 후 vsftpd를 재시작합니다:
service vsftpd restart그게 전부입니다. 이제 FTP 클라이언트를 사용하여 연결을 시도할 수 있습니다. 그러나 FTP 클라이언트를 TLS를 사용하도록 구성해야 합니다 (force_local_logins_ssl=YES 및 force_local_data_ssl=YES를 사용하는 경우 필수입니다) - 다음 장에서 FileZilla로 이를 수행하는 방법을 확인하십시오.
5 vsftpd 사용자 추가
이 단계에서는 연결에 사용할 수 있는 로컬 Linux 사용자를 추가합니다. 저는 “till”이라는 사용자와 “howtoforge”라는 비밀번호를 생성할 것입니다. 모든 FTP 사용자는 mkdir /var/ftproot에 홈 디렉토리를 가져야 하므로 먼저 이 디렉토리를 생성하겠습니다.
mkdir /var/ftproot그런 다음 다음 명령으로 사용자를 추가합니다:
adduser --home /var/ftproot/till tilladduser 명령은 사용자 비밀번호와 기타 세부 정보를 요청합니다.
root@server1:/# adduser --home /var/ftproot/till till
Adding user `till' ...
Adding new group `till' (1001) ...
Adding new user `till' (1001) with group `till' ...
Creating home directory `/var/ftproot/till' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: <-- 여기서 새 비밀번호를 입력하십시오
Retype new UNIX password: <-- 여기서 새 비밀번호를 입력하십시오
passwd: password updated successfully
Changing the user information for till
Enter the new value, or press ENTER for the default
Full Name []: <-- 여기서 이름을 입력하거나 건너뛰려면 Enter를 누르십시오
Room Number []: <-- 여기서 방 번호를 입력하거나 건너뛰려면 Enter를 누르십시오
Work Phone []: <-- 여기서 직장 전화번호를 입력하거나 건너뛰려면 Enter를 누르십시오
Home Phone []: <-- 여기서 집 전화번호를 입력하거나 건너뛰려면 Enter를 누르십시오
Other []: <-- 여기서 기타 사용자 세부 정보를 입력하거나 건너뛰려면 Enter를 누르십시오
Is the information correct? [Y/n] <-- YFTP 사용자를 성공적으로 추가했습니다.
6 TLS를 위한 FileZilla 구성
TLS를 사용하여 FTP를 사용하려면 TLS를 지원하는 FTP 클라이언트가 필요합니다. 예를 들어 FileZilla가 있습니다.
FileZilla에서 서버 관리자를 엽니다:

서버 필드에 FTP 서버의 IP 주소 또는 호스트 이름을 입력하고, 프로토콜 “FTP”와 “명시적 FTP over TLS 필요“를 선택한 후 사용자 필드에 사용자 이름을 입력합니다.

이제 서버에 연결할 수 있습니다. 처음으로 이 작업을 수행하는 경우 서버의 새 SSL 인증서를 수락해야 합니다:

모든 것이 잘 진행되면 이제 서버에 로그인되어 있어야 합니다:

7 링크
- vsftpd: https://security.appspot.com/vsftpd.html
- FileZilla: http://filezilla-project.org/
- Debian: http://www.debian.org/
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.