vsftpd настройка · 4 min read · Dec 18, 2025

Как установить и настроить vsftpd с TLS на Debian 8 (Jessie)

Эта статья объясняет, как настроить сервер vsftpd с поддержкой TLS на сервере Debian 8 и как получить доступ к FTP-серверу с помощью FileZilla. FTP по умолчанию является очень небезопасным протоколом, так как все пароли и данные передаются в открытом виде. Используя TLS, всю коммуникацию можно зашифровать, что делает FTP гораздо более безопасным.

1 Предварительная заметка

В этом руководстве я буду использовать имя хоста server1.example.com с IP-адресом 192.168.1.100. Эти настройки могут отличаться у вас, поэтому вам нужно заменить их в соответствующих местах. Я использую минимальную установку сервера Debian 8 в качестве основы для этого руководства.

2 Установка vsftpd и OpenSSL

OpenSSL необходим для TLS; чтобы установить vsftpd и OpenSSL, мы просто выполняем:

apt-get -y install vsftpd openssl

3 Создание SSL-сертификата для TLS

Для использования 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 Включение TLS в vsftpd

Чтобы включить TLS в vsftpd, откройте /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

# Выберите, какие SSL-шифры будет разрешать vsftpd для зашифрованных SSL-соединений (требуется для FileZilla)
ssl_ciphers=HIGH

# Этот параметр указывает местоположение RSA-сертификата, который будет использоваться для SSL
# зашифрованных соединений.
rsa_cert_file=/etc/ssl/private/vsftpd.pem
[...] 

Если вы используете force_local_logins_ssl=YES и force_local_data_ssl=YES, то разрешены только соединения TLS (это блокирует всех пользователей со старыми FTP-клиентами, которые не поддерживают TLS); используя force_local_logins_ssl=NO и force_local_data_ssl=NO, разрешены как TLS, так и не-TLS соединения, в зависимости от того, что поддерживает FTP-клиент.

Помимо параметров 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 till

Команда adduser запросит пароль пользователя и некоторые другие данные

root@server1:/# adduser --home /var/ftproot/till till  
Добавление пользователя `till' ...  
Добавление новой группы `till' (1001) ...  
Добавление нового пользователя `till' (1001) с группой `till' ...  
Создание домашней директории `/var/ftproot/till' ...  
Копирование файлов из `/etc/skel' ...  
Введите новый UNIX-пароль: <-- Введите новый пароль здесь  
Повторите новый UNIX-пароль: <-- Введите новый пароль здесь  
passwd: пароль успешно обновлён  
Изменение информации о пользователе для till  
Введите новое значение или нажмите ENTER для значения по умолчанию  
Полное имя []: <-- Введите ваше имя здесь или нажмите enter, чтобы пропустить  
Номер комнаты []: <-- Введите номер комнаты здесь или нажмите enter, чтобы пропустить  
Рабочий телефон []: <-- Введите рабочий телефон здесь или нажмите enter, чтобы пропустить  
Домашний телефон []: <-- Введите домашний телефон здесь или нажмите enter, чтобы пропустить  
Другое []: <-- Введите другие данные пользователя здесь или нажмите enter, чтобы пропустить  
Информация верна? [Y/n] <-- Y

Мы успешно добавили FTP-пользователя.

6 Настройка FileZilla для TLS

Чтобы использовать FTP с TLS, вам нужен FTP-клиент, который поддерживает TLS, такой как FileZilla.

В FileZilla откройте Диспетчер серверов:

Диспетчер серверов Filezilla.

Введите IP-адрес или имя хоста FTP-сервера в поле сервера, выберите протокол “FTP” и “Требовать явный FTP через TLS”, и введите имя пользователя в поле пользователя.

Данные для входа на сервер Filezilla.

Теперь вы можете подключиться к серверу. Если вы делаете это в первый раз, вам нужно будет принять новый SSL-сертификат сервера:

принять ssl сертификат.

Если всё прошло хорошо, вы теперь должны быть вошли на сервер:

вход в vsftpd успешен.

7 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.