FTP сервер · 3 min read · Dec 15, 2025

Установка и настройка сервера VSFTPD на Ubuntu 18.04 LTS

Vsftpd, также известный как очень безопасный FTP-демон, является FTP-сервером для систем, подобных Unix. FTP — это наиболее широко используемый стандартный сетевой протокол, используемый для загрузки/выгрузки файлов между двумя компьютерами по сети. По умолчанию FTP небезопасен, так как передает данные вместе с учетными данными пользователя без шифрования.

В этом руководстве мы научимся устанавливать Vsftpd с поддержкой SSL/TLS на сервере Ubuntu 18.04.

Требования

  • Сервер с установленной Ubuntu 18.04.
  • Пользователь, не являющийся root, с правами 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

Сохраните и закройте файл. Вы можете изменить вышеуказанную конфигурацию в соответствии с вашими потребностями.

Далее вам также нужно будет добавить пользователя vsftp в файл /etc/vsftpd.userlist, чтобы разрешить доступ к FTP:

sudo nano /etc/vsftpd.userlist

Добавьте следующую строку:

vsftp

Сохраните и закройте файл, затем перезапустите службу Vsftpd, чтобы применить эти изменения:

sudo systemctl restart vsftpd

Теперь откройте ваш веб-браузер и введите URL ftp://192.168.0.102, вам будет предложено ввести имя пользователя и пароль для доступа к FTP. Введите ваше имя пользователя и пароль vsftp, затем нажмите кнопку Ok. Вы должны увидеть следующую страницу:

Доступ к серверу по FTP

Защита Vsftpd с помощью SSL/TLS

Далее вам нужно будет включить SSL/TLS для шифрования данных, передаваемых через FTP.

Для этого вам нужно будет создать сертификат. Вы можете создать сертификат с помощью 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

Доступ к FTP через SSL/TLS

Вы не можете получить доступ к вашему FTP-серверу через SSL/TLS через браузер. Поэтому вам нужно будет установить клиент FTP FileZilla для доступа к вашему FTP-серверу. Поскольку FileZilla поддерживает FTP через SSL/TLS.

Вы можете установить клиент FileZilla с помощью следующей команды:

sudo apt-get install filezilla -y

После установки FileZilla откройте его из вашего меню Unity. Вы должны увидеть следующее изображение:

Клиент FTP FileZilla

Теперь нажмите на Файл>Менеджер сайтов. Вы должны увидеть следующее изображение:

Добавить сайт в FileZilla

Здесь добавьте новый сайт и укажите имя хоста/сайта, добавьте IP-адрес, определите используемый протокол, шифрование и тип входа. Затем нажмите кнопку Подключиться. Вы должны увидеть следующее изображение:

Принять SSL-сертификат

Теперь проверьте сертификат, используемый для соединения SSL/TLS, и нажмите OK еще раз, чтобы подключиться к FTP-серверу. Вы должны увидеть содержимое вашего FTP-сервера на следующей странице:

FTP-соединение с сервером Vsftpd установлено

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.