Если вы когда-нибудь пользовались FTP, вы, вероятно, знаете, что это очень полезный способ передачи файлов и информации из одной системы в другую. FTP, сокращение от File Transfer Protocol, является распространённым сетевым протоколом, который может использоваться для загрузки и выгрузки файлов в зависимости от прав, назначенных пользователю. В системах Linux и Unix в качестве FTP-сервера используется VSFTPD. VSFTPD расшифровывается как Very Secure FTP Daemon - это FTP-сервер, лицензированный под GNU General Public License.
В этой статье мы расскажем, как установить и настроить FTP-сервер с помощью vsftpd в Debian 10.
Установка FTP-сервера в Debian
Выполните следующие шаги для установки VSFTPD-Very secure FTP Daemon на ОС Debian.
Шаг 1: Установка VSFTPD
Запустите Терминал в ОС Debian, перейдя на вкладку Деятельность в левом верхнем углу рабочего стола. Затем в строке поиска введите terminal. Когда появится значок Терминала, нажмите на него, чтобы запустить его.
Затем в Терминале введите следующую команду для обновления репозиториев.
1 | sudo apt-get update |
Когда появится запрос на ввод пароля, введите sudo password.
Затем выполните следующую команду в Терминале для установки пакета VSFTPD:
1 | sudo apt-get install vsftpd |
После завершения установки вы можете проверить версию пакета VSFTPD, выполнив следующую команду в Терминале:
1 | vsftpd -versions |
Шаг 2: Включите и запустите службу VSFTPD
Служба VSFTPD не запускается автоматически после установки. Чтобы запустить службу VSFTPD, выполните следующую команду в Терминале:
1 | systemctl start vsftpd |
Система запросит аутентификацию пользователя. Введите пароль и нажмите кнопку Authenticate.
Чтобы разрешить службе vsftpd всегда запускаться при загрузке, выполните следующую команду в Терминале.
1 | systemctl enable vsftpd |
Система несколько раз запросит аутентификацию пользователя.
Конфигурация VSFTPD
Теперь мы выполним некоторые настройки, необходимые для установки FTP-сервера в нашей ОС Debian.
Шаг 1: Разрешить порты в брандмауэре
Если у вас работает брандмауэр, то разрешите порты 20 и 21 для FTP с помощью следующих команд:
1 2 | sudo ufw allow 20/tcp sudo ufw allow 21/tcp |
Откройте порт FTP в брандмауэре
После этого проверьте статус брандмауэра, используя следующую команду:
1 | sudo ufw status |
Шаг 2: Настройка доступа к FTP
Предварительно необходимо сгенерировать сертификаты
Прежде чем вносить изменения в конфигурационный файл VSFTPD, убедитесь, что вы сделали резервную копию исходного файла vsftpd.config. Для этого вы можете использовать следующую команду.
1 | sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig |
Теперь выполните следующую команду в Терминале, чтобы отредактировать файл vsftpd.config в редакторе nano. Вы можете использовать любой редактор для этой цели.
1 | sudo nano /etc/vsftpd.conf |
Добавьте следующие строки в конец файла:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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 rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=Yes pasv_enable=Yes pasv_min_port=10000 pasv_max_port=10100 allow_writeable_chroot=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO |
После этого нажмите Ctrl+O и Ctrl+X для сохранения и выхода из файла.
Шаг 3: Перезапустите службу VSFTPD
Чтобы применить изменения в конфигурации, сделанные выше, вам нужно перезапустить службу vsftpd. Для этого выполните следующую команду:
1 | sudo systemctl restart vsftpd |
Шаг 4: Создание FTP-пользователя
Теперь нам нужно создать пользователя ftp, которому будет разрешено подключаться к ftp-серверу.
Введите приведенную ниже команду для создания пользователя:
1 | sudo useradd -m <имя_пользователя> |
Затем назначьте пароль для созданного выше пользователя с помощью следующей команды:
1 | sudo passwd <имя_пользователя> |
В следующем примере мы создали пользователя с именем ftpuser и назначили ему пароль.
Проверка FTP-соединения
Чтобы протестировать FTP-соединение, вам нужно установить FTP-клиент в той же или отдельной системе, где вы хотите получить доступ к FTP-серверу. В нашем случае мы используем FileZilla в качестве FTP-клиента.
Выполните следующую команду в Терминале для установки FileZilla.
1 | sudo apt-get install filezilla |
После завершения установки откройте FileZilla либо с помощью Терминала, либо из меню Dash. После открытия введите необходимую информацию: имя хоста/IP-адрес, имя пользователя, пароль и нажмите кнопку Quickconnect.
Проверьте сертификат и нажмите OK для подключения к FTP-серверу.
Вы успешно подключитесь к FTP-серверу и сможете получить доступ к файлам и каталогам удаленного сервера.
Заключение
Теперь, когда вы установили и настроили FTP-сервер, вы можете использовать его для передачи файлов с вашей локальной машины на удаленный FTP-сервер и наоборот.