Рейтинг:0

Не удается подключиться к vsftpd через порт 21 при попытке установить FTP-соединение

флаг us

я установил vsftpd на моем Линукс Убунту 21.04 экземпляр, используя следующее:

sudo apt-get установить vsftpd

Я включил FTP в моем уфв брандмауэр с использованием следующего:

sudo ufw разрешить ftp

Мой /etc/vsftpd.conf файл содержит следующее:

# Пример файла конфигурации /etc/vsftpd.conf
#
# Настройки по умолчанию, скомпилированные в настройках, довольно параноидальные. Этот образец файла
# немного ослабляем ситуацию, чтобы сделать демон ftp более удобным в использовании.
# Пожалуйста, смотрите vsftpd.conf.5 для всех скомпилированных значений по умолчанию.
#
# ПРОЧИТАЙТЕ ЭТО: Этот пример файла НЕ является исчерпывающим списком опций vsftpd.
# Прочтите справочную страницу vsftpd.conf.5, чтобы получить полное представление о vsftpd.
# возможности.
#
#
# Запускать автономно? vsftpd может работать как из inetd, так и отдельно
# демон запущен из сценария инициализации.
слушать = ДА
#
# Эта директива включает прослушивание сокетов IPv6. По умолчанию прослушивание
# на IPv6 "любой" адрес (::) будет принимать соединения с обоих IPv6
# и клиенты IPv4. Нет необходимости прослушивать *оба* IPv4 и IPv6.
# Розетки.Если вы этого хотите (возможно, потому, что хотите слушать определенные
# адресов) то необходимо запустить две копии vsftpd с двумя конфигурациями
# файлы.
listen_ipv6 = НЕТ
#
# Разрешить анонимный FTP? (Отключено по умолчанию).
анонимный_включить = НЕТ
#
# Раскомментируйте это, чтобы разрешить вход локальным пользователям.
local_enable = ДА
#
# Раскомментируйте это, чтобы включить любую форму команды записи FTP.
write_enable = ДА
#
# Маска по умолчанию для локальных пользователей 077. Вы можете изменить ее на 022,
# если ваши пользователи этого ожидают (022 используется большинством других ftpd)
#local_umask=022
#
# Раскомментируйте это, чтобы разрешить анонимному пользователю FTP загружать файлы. Это только
# имеет эффект, если вышеуказанное глобальное разрешение записи активировано. Кроме того, вы будете
# Очевидно, необходимо создать каталог, доступный для записи пользователю FTP.
#anon_upload_enable=ДА
#
# Раскомментируйте это, если вы хотите, чтобы анонимный пользователь FTP мог создавать
# новые каталоги.
#anon_mkdir_write_enable=ДА
#
# Активировать сообщения каталога - сообщения, отправляемые удаленным пользователям, когда они
# перейти в определенный каталог.
dirmessage_enable = ДА
#
# Если включено, vsftpd будет отображать списки каталогов со временем
# в вашем часовом поясе. По умолчанию отображается GMT.
# число, возвращаемое командой MDTM FTP, также зависит от этого
# вариант.
use_localtime = ДА
#
# Активировать ведение журнала загрузок/загрузок.
xferlog_enable = ДА
#
# Убедитесь, что соединения передачи PORT исходят из порта 20 (ftp-данные).
connect_from_port_20=ДА
#
# Если вы хотите, вы можете сделать так, чтобы загруженные анонимные файлы принадлежали
# другой пользователь. Запись! Использование «root» для загруженных файлов не
# рекомендуемые!
#chown_uploads=ДА
#chown_username=кто угодно
#
# Вы можете переопределить, куда идет файл журнала, если хотите. По умолчанию показано
# ниже.
#xferlog_file=/var/log/vsftpd.log
#
# Если вы хотите, вы можете иметь файл журнала в стандартном формате ftpd xferlog.
# Обратите внимание, что в данном случае расположение файла журнала по умолчанию — /var/log/xferlog.
#xferlog_std_format=ДА
#
# Вы можете изменить значение по умолчанию для тайм-аута бездействующего сеанса.
#idle_session_timeout=600
#
# Вы можете изменить значение по умолчанию для тайм-аута соединения для передачи данных.
#data_connection_timeout=120
#
# Рекомендуется определить в вашей системе уникального пользователя,
# FTP-сервер можно использовать как полностью изолированный и непривилегированный пользователь.
#nopriv_user=ftpsecure
#
# Включите это, и сервер будет распознавать асинхронные запросы ABOR. Нет
# рекомендуется для безопасности (код нетривиален). Не включив его,
# однако это может сбить с толку старые FTP-клиенты.
#async_abor_enable=ДА
#
# По умолчанию сервер делает вид, что разрешает режим ASCII, но на самом деле игнорирует
# запрос. Включите следующие параметры, чтобы сервер действительно выполнял ASCII.
# изменение файлов в режиме ASCII.
# Имейте в виду, что на некоторых FTP-серверах поддержка ASCII допускает отказ в обслуживании
# атака (DoS) через команду "SIZE /big/file" в режиме ASCII. vsftpd
# предсказал эту атаку и всегда был в безопасности, сообщая о размере
# необработанный файл.
# Искажение ASCII - ужасная особенность протокола.
#ascii_upload_enable=ДА
#ascii_download_enable=ДА
#
# Вы можете полностью настроить строку баннера входа:
#ftpd_banner=Добро пожаловать в службу FTP.
#
# Вы можете указать файл запрещенных анонимных адресов электронной почты. По всей видимости
# полезно для борьбы с некоторыми DoS-атаками.
#deny_email_enable=ДА
# (по умолчанию следует)
#banned_email_file=/etc/vsftpd.banned_emails
#
# Вы можете ограничить локальных пользователей их домашними каталогами. См. FAQ для
# возможные риски в этом перед использованием chroot_local_user или
# chroot_list_enable ниже.
chroot_local_user = ДА
#
# Вы можете указать явный список локальных пользователей для chroot() их дома
# каталог. Если для chroot_local_user установлено значение YES, этот список становится списком
# пользователям НЕ выполнять chroot().
# (Внимание! Использование chroot может быть очень опасным. При использовании chroot убедитесь, что
# у пользователя нет прав на запись в каталог верхнего уровня внутри
# chroot)
#chroot_local_user=ДА
#chroot_list_enable=ДА
# (по умолчанию следует)
#chroot_list_file=/etc/vsftpd.chroot_list
#
# Вы можете активировать опцию "-R" для встроенного ls. Это отключено
# по умолчанию, чтобы удаленные пользователи не могли вызывать чрезмерный ввод-вывод на больших
# места. Однако некоторые неисправные FTP-клиенты, такие как «ncftp» и «mirror», предполагают
# наличие опции "-R", так что есть веские основания для ее включения.
#ls_recurse_enable=ДА
#
# Настройка
#
# Некоторые настройки vsftpd не соответствуют структуре файловой системы
# По умолчанию.
#
# Эта опция должна быть именем каталога, который пуст. Так же
# каталог не должен быть доступен для записи пользователем ftp. Этот каталог используется
# в качестве безопасной тюрьмы chroot() иногда vsftpd не требует файловой системы
# доступ.
secure_chroot_dir=/var/run/vsftpd/пусто
#
# Эта строка является именем службы PAM, которую будет использовать vsftpd.
pam_service_name = vsftpd
#
# Эта опция указывает расположение сертификата RSA, используемого для SSL
# зашифрованные соединения.
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable = НЕТ

#
# Раскомментируйте это, чтобы указать, что vsftpd использует файловую систему utf8.
#utf8_filesystem=ДА

user_sub_token=$ПОЛЬЗОВАТЕЛЬ
local_root=/home/$USER/ftp_user

userlist_enable = ДА
userlist_file=/etc/vsftpd.user_list
userlist_deny = НЕТ

Я добавил предполагаемую учетную запись пользователя ftpuser к /etc/vsftpd.user_list. Следующее содержится в выводе netstat -tanp:

TCP 0 0 0.0.0.0:27017 0.0.0.0:* ПРОСЛУШИВАТЬ 939/докер-прокси
TCP 0 0 0.0.0.0:21 0.0.0.0:* ПРОСЛУШАТЬ 585614/vsftpd
TCP 0 0 127.0.0.53:53 0.0.0.0:* ПРОСЛУШАТЬ 582461/systemd-резо
TCP 0 0 0.0.0.0:22 0.0.0.0:* ПРОСЛУШАТЬ 581200/sshd: /usr/s

Вышеизложенное, по-видимому, указывает на то, что vsftpd прослушивает порт 21, как и должно быть. Однако я не могу подключиться к нему с помощью WinSCP на порт 21 с протоколом FTP. Однако странно то, что я могу подключиться к порту 22 по протоколу SFTP.

Я также должен упомянуть, что раньше у меня был vsftpd установлен и настроен для SFTP. Я сделал sudo apt-получить чистку vsftpd и с тех пор пытаюсь переустановить.

Редактировать Даже когда я бегу FTP-сервер Я получаю сообщение об ошибке: ftp: подключение: время ожидания соединения истекло

Вот шаги, которые я сейчас предпринял.

Установить VSFTPD

судо подходящее обновление
sudo apt установить vsftpd
Статус службы sudo vsftpd

Настроить брандмауэр

sudo ufw разрешить 20/tcp
sudo ufw разрешить 21/tcp
sudo ufw разрешить 40000:50000/tcp
sudo ufw разрешить 990/tcp
sudo ufw разрешить openssh
sudo ufw включить
статус sudo ufw

Создание ftpuser и каталогов

sudo adduser ftpuser
sudo mkdir /home/ftpuser/ftp
sudo chown Nobody:nogroup /home/ftpuser/ftp
sudo chmod a-w /home/ftpuser/ftp
sudo mkdir /home/ftpuser/ftp/files
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/files

Настройка конфигурации VSFTPD

судо нано /etc/vsftpd.conf

Со следующими записями

слушать = НЕТ
listen_ipv6 = ДА
anonymos_enable = НЕТ
local_enable = ДА
write_enable = ДА
локальная_маска=022
dirmessage_enable = ДА
use_localtime = ДА
xferlog_enable = ДА
connect_from_port_20=ДА
chroot_local_user = ДА
secure_chroot_dir=/var/run/vsftpd/пусто
pam_service_name = vsftpd
force_dot_files = ДА
pasv_min_port=400000
pasv_max_port=500000

user_sub_token=$ПОЛЬЗОВАТЕЛЬ
local_root=/home/$USER/ftp

Перезапустите VSFTPD, чтобы изменения вступили в силу.

sudo systemctl перезапустить vsftpd.service

Попробуйте подключиться с помощью Filezilla и WinSCP. Ни один из них не работал. Однако, как и раньше, я смог подключиться через SFTP на порт 22.

Что я делаю не так?

Рейтинг:0
флаг us

я переустановил Убунту 21.04 и выполнил шаги в этом руководстве: https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-18-04, и он работает так, как ожидалось.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.