Попробуйте настроить FTP-сервер по нашей инструкции — мы расскажем, как установить FTP-сервер на Ubuntu 20.04, настроить сервер vsftpd и подключить защищённое FTP-соединение простым способом. Инструкция также подойдет для дистрибутива Ubuntu версий 22.04, 18.04 и 16.04.
С FTP-сервером можно работать благодаря одному из базовых протоколов интернета — FTP. В операционной системе Ubuntu можно подключить такие популярные FTP-серверы, как: proftpd, wu-ftpd, pureftpd и vsftpd. Мы рассмотрим, как установить vsftpd Ubuntu — один из самых быстрых и безопасных серверов.
Чтобы начать работу с FTP-сервером vsftpd, установите и настройте его. Затем подключите защищённое соединение SSL/TLS, назначьте доступ FTP-пользователям и настройте брандмауэр. В инструкции ниже мы подробно описали каждый из этих этапов.
Установка FTP-сервера vsftpd
Чтобы установить на Ubuntu server vsftpd:
-
1
Обновите пакеты apt:
sudo apt update
-
2
Установите FTP-сервер vsftpd:
sudo apt install vsftpd
-
3
Проверьте работоспособность сервера:
sudo systemctl status vsftpd
Если сервер активен, в выводе появится надпись active:
FTP server Ubuntu
-
4
Добавьте службу в автозагрузку:
sudo systemctl enable vsftpd
Готово, вы установили FTP-сервер vsftpd.
Настройка FTP-сервера на Ubuntu
Настройте сервер vsftpd через файл конфигурации — /etc/vsftpd.conf. Для этого:
-
1
Скопируйте оригинальный файл с настройками в файл /etc/vsftpd.conf.original:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original
-
2
Откройте конфигурационный файл:
sudo nano /etc/vsftpd.conf
-
3
В файле укажите директивы и назначьте параметры с помощью указанных ниже команд.
- Настройте сервер для запуска:
listen=YES
и
listen_ipv6=NO
- Настройте доступ к FTP-серверу, чтобы разрешить вход только локальным пользователям:
anonymous_enable=NO
и
local_enable=YES
- Разрешите пользователям работать в файловой системе (загружать и удалять файлы):
write_enable=YES
- Назначьте права для новых файлов:
local_umask=022
- Настройте сообщение о выборе каталога после регистрации:
dirmessage_enable=YES
- Разрешите серверу использовать локальный часовой пояс:
use_localtime=YES
- Настройте запись всех передач файлов в лог:
xferlog_enable=YES
- Настройте порт 20 для передачи данных:
connect_from_port_20=YES
- Задайте путь хранения логов и их формат:
xferlog_file=/var/log/vsftpd.log
и
xferlog_std_format=YES
- Откройте пользователям доступ только к своим домашним каталогам командами:
chroot_local_user=YES
и
allow_writeable_chroot=YES
- Настройте возможность использования PAM-сервиса:
pam_service_name=vsftpd
- Разрешите аутентификацию на FTP-сервере только тем пользователям, которые указаны в файле userlist с помощью команд:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
и
userlist_deny=NO
- Настройте диапазон портов для работы FTP в пассивном режиме:
pasv_min_port=40000
pasv_max_port=50000
- 4 Сохраните и закройте файл сочетанием клавиш Ctrl+X и Y.
-
5
Перезапустите сервер:
sudo systemctl restart vsftpd
Готово, вы настроили FTP-сервер.
Подключение защищенного соединения SSL/TLS
Для настройки защищённой FTP-передачи с помощью SSL/TLS нужен SSL-сертификат. Вы можете использовать уже существующий сертификат или создать самоподписанный. Чтобы настроить защищенное соединение через самоподписанный SSL-сертификат:
-
1
Сгенерируйте SSL-сертификат. Этой командой будет создан сертификат сроком действия 1 год и 2048-битный закрытый ключ. Они будут храниться в файле vsftpd.pem.
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
-
2
Откройте конфигурационный файл vsftpd.conf:
sudo nano /etc/vsftpd.conf
-
3
Найдите директивы rsa_cert_file и rsa_private_key_file. Присвойте им значения пути к файлу vsftpd.pem командами:
rsa_cert_file=/etc/ssl/private/vsftpd.pem
и
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
-
4
Разрешите использование протокола SSL:
ssl_enable=YES
- 5 Сохраните и закройте файл сочетанием клавиш Ctrl+X и Y.
-
6
Перезапустите сервер:
sudo systemctl restart vsftpd
Готово, вы настроили защищённое соединение.
Создание FTP-пользователей и предоставление доступа
Если у вас уже созданы FTP-пользователи, дайте им доступ:
-
1
Добавьте имена FTP-пользователей в созданный ранее файл /etc/vsftpd.userlist. Для этого откройте файл командой:
sudo nano /etc/vsftpd.userlist
Затем введите имена пользователей — в одной строке вводите одно имя.
- 2 Сохраните и закройте файл сочетанием клавиш Ctrl+X и Y.
Готово, вы назначили доступ FTP-пользователям.
Если таких пользователей ещё нет, сначала создайте их:
-
1
Создайте нового пользователя:
sudo useradd user
-
2
Назначьте ему пароль:
sudo passwd user
Где user — имя пользователя.
-
3
Предоставьте FTP-доступ пользователю. Добавьте его имя в файл /etc/vsftpd.userlist:
echo "user" | sudo tee -a /etc/vsftpd.userlist
Готово, вы создали FTP-пользователей и назначили им доступ.
Настройка работы брандмауэра
Если вы используете брандмауэр (firewall) UFW, разрешите FTP-трафик. Для этого:
-
1
Откройте порты 20, 21, 22, 990 и зарезервируйте диапазон портов 40000-50000 командами:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow OpenSSH
sudo ufw allow 990/tcp
sudo ufw allow 40000:50000/tcp
-
2
Перезагрузите UFW:
sudo ufw disable
sudo ufw enable
-
3
Проверьте работоспособность UFW:
sudo ufw status
Готово, вы открыли брандмауэр для работы по FTP. Теперь вы можете проверить соединение через FTP-клиент FileZilla и приступить к работе с сервером.
Итак, вы узнали, каким способом можно быстро установить и настроить защищенный фтп-сервер на Убунту.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊