AWS-EC2 - vsftpd: сбой при получении содержимого каталога / - только в текстовых редакторах

696
Zsoca

У меня возникла очень странная проблема при настройке vsftpd на моем экземпляре ec2: я настроил ftp-сервер для использования ftp через TLS, и он хорошо работал на filezilla, однако мне не удалось подключиться с помощью какого-либо текстового редактора ftp-модуля (я пробовал с блокнотом ++ и веб-штормом). Я подумал, может быть, проблема с SSL, поэтому я сначала изменил его на простой незащищенный FTP и попытался заставить его работать. Теперь клиенты FTP снова работают как чудо (filezilla, total commander), но вышеприведенные текстовые редакторы выдают мне следующую ошибку после успешного подключения:

Failure retrieving contents of directory / 

Я перепробовал все, но сейчас я понятия не имею, в чем будет проблема. Вот мои конфигурации vsftp:

listen=NO listen_ipv6=YES local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES chroot_list_enable=NO secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=ftp ssl_enable=NO pasv_enable=YES pasv_min_port=1024 pasv_max_port=1048 port_enable=YES pasv_address=[EC2_PUBLIC_DOMAIN] pasv_addr_resolve=YES 

У кого-нибудь есть идеи в чем должна быть проблема? Любая помощь приветствуется. Благодарю.

ОБНОВЛЕНИЕ (журналы на стороне сервера)

Filezilla:

Sat Jan 14 20:01:06 2017 [pid 8099] CONNECT: Client "::ffff:178.48.165.229" Sat Jan 14 20:01:06 2017 [pid 8099] FTP response: Client "::ffff:178.48.165.229", "220 (vsFTPd 3.0.3)" Sat Jan 14 20:01:06 2017 [pid 8099] FTP command: Client "::ffff:178.48.165.229", "AUTH TLS" Sat Jan 14 20:01:06 2017 [pid 8099] FTP response: Client "::ffff:178.48.165.229", "530 Please login with USER and PASS." Sat Jan 14 20:01:06 2017 [pid 8099] FTP command: Client "::ffff:178.48.165.229", "AUTH SSL" Sat Jan 14 20:01:06 2017 [pid 8099] FTP response: Client "::ffff:178.48.165.229", "530 Please login with USER and PASS." Sat Jan 14 20:01:06 2017 [pid 8099] FTP command: Client "::ffff:178.48.165.229", "USER dev_back" Sat Jan 14 20:01:06 2017 [pid 8099] [dev_back] FTP response: Client "::ffff:178.48.165.229", "331 Please specify the password." Sat Jan 14 20:01:06 2017 [pid 8099] [dev_back] FTP command: Client "::ffff:178.48.165.229", "PASS <password>" Sat Jan 14 20:01:06 2017 [pid 8098] [dev_back] OK LOGIN: Client "::ffff:178.48.165.229" Sat Jan 14 20:01:06 2017 [pid 8100] [dev_back] FTP response: Client "::ffff:178.48.165.229", "230 Login successful." Sat Jan 14 20:01:06 2017 [pid 8100] [dev_back] FTP command: Client "::ffff:178.48.165.229", "PWD" Sat Jan 14 20:01:06 2017 [pid 8100] [dev_back] FTP response: Client "::ffff:178.48.165.229", "257 "/" is the current directory" 

Notepad ++:

Sat Jan 14 20:01:37 2017 [pid 8102] CONNECT: Client "::ffff:178.48.165.229" Sat Jan 14 20:01:37 2017 [pid 8102] FTP response: Client "::ffff:178.48.165.229", "220 (vsFTPd 3.0.3)" Sat Jan 14 20:01:37 2017 [pid 8102] FTP command: Client "::ffff:178.48.165.229", "USER dev_back" Sat Jan 14 20:01:37 2017 [pid 8102] [dev_back] FTP response: Client "::ffff:178.48.165.229", "331 Please specify the password." Sat Jan 14 20:01:37 2017 [pid 8102] [dev_back] FTP command: Client "::ffff:178.48.165.229", "PASS <password>" Sat Jan 14 20:01:37 2017 [pid 8101] [dev_back] OK LOGIN: Client "::ffff:178.48.165.229" Sat Jan 14 20:01:37 2017 [pid 8103] [dev_back] FTP response: Client "::ffff:178.48.165.229", "230 Login successful." Sat Jan 14 20:01:37 2017 [pid 8103] [dev_back] FTP command: Client "::ffff:178.48.165.229", "TYPE A" Sat Jan 14 20:01:37 2017 [pid 8103] [dev_back] FTP response: Client "::ffff:178.48.165.229", "200 Switching to ASCII mode." Sat Jan 14 20:01:37 2017 [pid 8103] [dev_back] FTP command: Client "::ffff:178.48.165.229", "MODE S" Sat Jan 14 20:01:37 2017 [pid 8103] [dev_back] FTP response: Client "::ffff:178.48.165.229", "200 Mode set to S." Sat Jan 14 20:01:37 2017 [pid 8103] [dev_back] FTP command: Client "::ffff:178.48.165.229", "STRU F" Sat Jan 14 20:01:37 2017 [pid 8103] [dev_back] FTP response: Client "::ffff:178.48.165.229", "200 Structure set to F." Sat Jan 14 20:01:38 2017 [pid 8103] [dev_back] FTP command: Client "::ffff:178.48.165.229", "PWD" Sat Jan 14 20:01:38 2017 [pid 8103] [dev_back] FTP response: Client "::ffff:178.48.165.229", "257 "/" is the current directory" Sat Jan 14 20:01:38 2017 [pid 8103] [dev_back] FTP command: Client "::ffff:178.48.165.229", "CWD /" Sat Jan 14 20:01:38 2017 [pid 8103] [dev_back] FTP response: Client "::ffff:178.48.165.229", "250 Directory successfully changed." Sat Jan 14 20:01:38 2017 [pid 8103] [dev_back] FTP command: Client "::ffff:178.48.165.229", "PASV" Sat Jan 14 20:01:38 2017 [pid 8103] [dev_back] FTP response: Client "::ffff:178.48.165.229", "227 Entering Passive Mode (0,0,0,0,4,2)." Sat Jan 14 20:01:38 2017 [pid 8103] [dev_back] FTP command: Client "::ffff:178.48.165.229", "LIST" Sat Jan 14 20:02:38 2017 [pid 8103] [dev_back] FTP response: Client "::ffff:178.48.165.229", "425 Failed to establish connection." 

Собственный журнал Filezilla:

2017-01-14 21:27:41 4856 1 Response: 220 (vsFTPd 3.0.3) 2017-01-14 21:27:41 4856 1 Command: AUTH TLS 2017-01-14 21:27:41 4856 1 Response: 530 Please login with USER and PASS. 2017-01-14 21:27:41 4856 1 Command: AUTH SSL 2017-01-14 21:27:41 4856 1 Response: 530 Please login with USER and PASS. 2017-01-14 21:27:41 4856 1 Status: Insecure server, it does not support FTP over TLS. 2017-01-14 21:27:41 4856 1 Command: USER dev_back 2017-01-14 21:27:41 4856 1 Response: 331 Please specify the password. 2017-01-14 21:27:41 4856 1 Command: PASS *********** 2017-01-14 21:27:42 4856 1 Response: 230 Login successful. 2017-01-14 21:27:42 4856 1 Command: SYST 2017-01-14 21:27:42 4856 1 Response: 215 UNIX Type: L8 2017-01-14 21:27:42 4856 1 Command: FEAT 2017-01-14 21:27:42 4856 1 Response: 211-Features: 2017-01-14 21:27:42 4856 1 Response: EPRT 2017-01-14 21:27:42 4856 1 Response: EPSV 2017-01-14 21:27:42 4856 1 Response: MDTM 2017-01-14 21:27:42 4856 1 Response: PASV 2017-01-14 21:27:42 4856 1 Response: REST STREAM 2017-01-14 21:27:42 4856 1 Response: SIZE 2017-01-14 21:27:42 4856 1 Response: TVFS 2017-01-14 21:27:42 4856 1 Response: 211 End 2017-01-14 21:27:42 4856 1 Status: Server does not support non-ASCII characters. 2017-01-14 21:27:42 4856 1 Status: Logged in 2017-01-14 21:27:42 4856 1 Status: Retrieving directory listing... 2017-01-14 21:27:42 4856 1 Command: PWD 2017-01-14 21:27:42 4856 1 Response: 257 "/" is the current directory 2017-01-14 21:27:42 4856 1 Command: TYPE I 2017-01-14 21:27:42 4856 1 Response: 200 Switching to Binary mode. 2017-01-14 21:27:42 4856 1 Command: PASV 2017-01-14 21:27:42 4856 1 Response: 227 Entering Passive Mode (0,0,0,0,4,12). 2017-01-14 21:27:42 4856 1 Status: Server sent passive reply with unroutable address. Using server address instead. 2017-01-14 21:27:42 4856 1 Command: LIST 2017-01-14 21:27:42 4856 1 Response: 150 Here comes the directory listing. 2017-01-14 21:27:42 4856 1 Response: 226 Directory send OK. 2017-01-14 21:27:42 4856 1 Status: Directory listing of "/" successful 
1
Проверьте, какой режим (активный / пассивный) используют FileZilla и редакторы. Если вы не можете сказать, покажите нам подробный журнал из FileZilla и редакторов. Если редакторы не могут создать журнал, покажите нам журнал на стороне сервера. Или захват протокола FTP (например, с помощью Wireshark). Martin Prikryl 7 лет назад 0
Я обновил журналы на стороне сервера. Оба должны использовать пассивный режим. Я дважды проверил настройки filezilla, и был установлен пассивный режим, но я не вижу его в логах ... Zsoca 7 лет назад 0
Пожалуйста, опубликуйте журнал FileZilla, который показывает список каталогов (это то, что не работает в Notepad ++). Martin Prikryl 7 лет назад 0

1 ответ на вопрос

1
Martin Prikryl

Сб Янв 14 20:01:38 2017 [pid 8103] [dev_back] Ответ FTP: Клиент ":: ffff: 178.48.165.229", "227 Вход в пассивный режим ( 0,0,0,0, 4,2)."

Это похоже на ошибку FTP-сервера vsftpd, когда установлен public pasv_address, и у сервера есть (локальный) адрес IPv6 (как в случае с EC2).

Я написал больше об ошибке на вопрос о сбое сервера пассивного ответа Vsftpd с адресом 0,0,0,0 даже с правильным pasv_address .


FileZilla может игнорировать неверный IP-адрес:

2017-01-14 21:27:42 4856 1 Ответ: 227 Вход в пассивный режим (0,0,0,0,4,12).
2017-01-14 21:27:42 4856 1 Статус: Сервер отправил пассивный ответ с неуправляемым адресом. Вместо этого используйте адрес сервера.

Но Notepad ++ не может.