7  /  16

Конфигурация FTP сервера

Конфигурация FTP сервера

Установка необходимых пакетов:

sudo apt install vsftpd

если произошла ошибка при установки, значит нужно просто добавить рабочий репозиторий, я использую:

deb http://http.us.debian.org/debian/ bullseye main contrib non-free

Статус службы можно посмотреть с помощью команды:

systemctl status vsftpd.service

1) Создаем директорию для шаринга:

sudo mkdir /var/ftp/

2) Создаем пользователя и расположим домашнюю директорию в /var/ftp:

sudo useradd ramil -m -d /var/ftp/ramil -s /sbin/nologin

3) Пароль для пользователя:

sudo passwd ramil

4) В добавок к правам пользования сервисом пользователя, но без авторизации через терминал, необходимо добавить строку в файл:

echo "/sbin/nologin" |sudo tee -a /etc/shells

Далее все опционально, в конфигурационном файле сервиса /etc/vsftpd.conf

  • Для того чтоб пользователи не могли выходить за пределы своих директорий:
chroot_local_user=YES
allow_writeable_chroot=YES
  • Права на запись:
write_enable=YES

Включаем явное SSL шифрование (Explicit SSL)

Создадим директорию для ключей:

sudo mkdir /etc/ssl/private

Генерация SSL ключа и сертификата:

sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/ssl/private/vsftpd.key -x509 -days 365 -out /etc/ssl/private/vsftpd.crt

Добавляем строки в конфигурационный файл /etc/vsftpd/vsftpd.conf:

rsa_cert_file=/etc/ssl/private/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
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

Перезапускаем службу:

sudo systemctl restart vsftpd 

Включаем НЕ явное шифрование (Implict SSL)

Добавляем строки в конфигурационный файл /etc/vsftpd/vsftpd.conf:

implicit_ssl=YES
listen_port=990

Перезапускаем службу:

sudo systemctl restart vsftpd