Так, я исследовал FTP/FTPS и пытался настроить рабочий сервер FTPS. Для использования FTP (S) я использовал сервис vsftpd, и мой сервер является амазонкой экземпляр EC2 под управлением Ubuntu 14.04.
masq@ftp:~$ uname -a
Linux ftp 3.15.0-031500rc2-generic #201404201435 SMP Sun Apr 20 18:36:18 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Теперь, конфигурационный файл кажется довольно простым в установке. ОДНАКО вещи.. не работают правильно... по некоторым причинам...
Проблемой, которую я хотел бы обращенный в этом потоке, является проблема пассивных по сравнению с активной конфигурацией. Теперь, я включил pasv режим в файле конфигурации. Я указал некоторые порты для pasv для использования, и я указал адрес, что он идет... и т.д. (Я отправлю конфигурацию своего файла ниже), и все же... Я все еще получаю эту ошибку, когда я даю команду "ls" по ftp! Вот выполнение в качестве примера того (я - просто FTPing к localhost, таким образом, я знаю, что материал брандмауэра не мешает (который гарантирует, что брандмауэр не мешает... правильно?!)):
masq@ftp:~$ ftp localhost
Connected to localhost.
220 (vsFTPd 3.0.2)
Name (localhost:masq): john
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-rw-r-- 1 1000 1000 0 Feb 18 04:55 random
226 Directory send OK.
ftp> passive
Passive mode on.
ftp> ls
227 Entering Passive Mode (xxx,xxx,xxx,xxx,46,229).
ftp: connect: Connection refused
ftp>
и вот мой файл конфигурации...
# allow anyone to connect?
anonymous_enable=NO
# is it turned on?
listen=YES
xferlog_enable=YES
log_ftp_protocol=YES
# allow people to upload?
write_enable=NO
# allow people to download?
download_enable=YES
# passive/active mode configuration
port_enable=YES
pasv_enable=YES
pasv_min_port=12000
pasv_max_port=12050
pasv_address=<retracted public IP>
# if pasv_address_resolve=YES, pasv_address should be a name, e.g. ftp.blah.com
#pasv_addr_resolve=YES
# local account enable
local_enable=YES
chroot_local_user=YES
user_sub_token=$USER
local_root=/home/$USER
allow_writeable_chroot=YES
# ssl config
#ssl_enable=YES
Так... У меня есть pasv_enable=YES... и весь другой набор опций так правильно, как все мое исследование сказало мне, и все же это на самом деле не может работать в pasv режиме. Кто-либо знает, почему это не работает?> _>
Я попытался достигнуть этого сервера из Интернета с помощью компьютера, который не будет работать с активными соединениями, и ему не удается получить списки каталогов, т.е. pasv определенно не работает.:/
Спасибо, парни, я действительно озадачен с этим. Я могу больше предоставлять информацию при необходимости.
P.S. Я действительно настраивал свою ec2 группу безопасности к открытым портам 12000-12050, порты 20-21, TCP..., таким образом, я не думаю, что это - проблема также.
РЕДАКТИРОВАНИЕ 1: версия Ubuntu является 14.04 Надежными людьми LTS. vsftpd: версия 3.0.2
masq@ftp:~$ sudo cat /var/log/vsftpd.log
Thu Mar 12 00:35:38 2015 [pid 19825]
CONNECT: Client "127.0.0.1"
Thu Mar 12 00:35:46 2015 [pid 19824]
[masq] OK LOGIN: Client "127.0.0.1"
Thu Mar 12 00:37:19 2015 [pid 19834]
CONNECT: Client "127.0.0.1"
Thu Mar 12 00:37:24 2015 [pid 19833]
[masq] OK LOGIN: Client "127.0.0.1"
^ существует выполнение того, что я регистрировался на пути localhost и запроса каталога. затем я вышел из системы и вошел в и дал пассивную команду, и она перестала работать несмотря на наличие pasv_enable=YES в файле конфигурации, когда я показал в исходном сообщении.
Что-то еще, что я заметил, является этим, если я просто работаю
$sudo vsftpd
500 OOPS: could not bind listening IPv4 socket
Я получаю эту ошибку. еще раз я использую амазонку ec2 и поэтому поскольку мой pasv_address=xxx.xxx.xxx.xxx является моим общедоступным IP-адресом, не моим частным. Вы знаете, где в журналах я мог найти журналы, являющиеся более подробным о какой тот отказ связать с ошибкой сокета? Я просто обнаружил это начиная с регистрации, и я начинаю думать, что это - причина моей проблемы.
EDIT_2: Я попытался соединиться из внешнего источника и попробовал локально (просто FTPing localhost на моем поле сервера)
Wed Mar 18 01:36:10 2015 [pid 8194] CONNECT: Client "127.0.0.1"
Wed Mar 18 01:36:10 2015 [pid 8194] FTP response: Client "127.0.0.1", "220 (vsFTPd 3.0.2)"
Wed Mar 18 01:36:16 2015 [pid 8194] FTP command: Client "127.0.0.1", "USER masq"
Wed Mar 18 01:36:16 2015 [pid 8194] [masq] FTP response: Client "127.0.0.1", "331 Please specify the password."
Wed Mar 18 01:36:20 2015 [pid 8194] [masq] FTP command: Client "127.0.0.1", "PASS <password>"
Wed Mar 18 01:36:20 2015 [pid 8193] [masq] OK LOGIN: Client "127.0.0.1"
Wed Mar 18 01:36:20 2015 [pid 8195] [masq] FTP response: Client "127.0.0.1", "230 Login successful."
Wed Mar 18 01:36:20 2015 [pid 8195] [masq] FTP command: Client "127.0.0.1", "SYST"
Wed Mar 18 01:36:20 2015 [pid 8195] [masq] FTP response: Client "127.0.0.1", "215 UNIX Type: L8"
Wed Mar 18 01:36:22 2015 [pid 8195] [masq] FTP command: Client "127.0.0.1", "PORT 127,0,0,1,204,221"
Wed Mar 18 01:36:22 2015 [pid 8195] [masq] FTP response: Client "127.0.0.1", "200 PORT command successful. Consider using PASV."
Wed Mar 18 01:36:22 2015 [pid 8195] [masq] FTP command: Client "127.0.0.1", "LIST"
Wed Mar 18 01:36:22 2015 [pid 8195] [masq] FTP response: Client "127.0.0.1", "150 Here comes the directory listing."
Wed Mar 18 01:36:22 2015 [pid 8195] [masq] FTP response: Client "127.0.0.1", "226 Directory send OK."
Wed Mar 18 01:36:35 2015 [pid 8195] [masq] FTP command: Client "127.0.0.1", "PASV"
Wed Mar 18 01:36:35 2015 [pid 8195] [masq] FTP response: Client "127.0.0.1", "227 Entering Passive Mode (52,10,22,18,46,246)."
Wed Mar 18 01:36:47 2015 [pid 8195] [masq] FTP command: Client "127.0.0.1", "QUIT"
Wed Mar 18 01:36:47 2015 [pid 8195] [masq] FTP response: Client "127.0.0.1", "221 Goodbye."
Wed Mar 18 01:58:11 2015 [pid 8257] CONNECT: Client "127.0.0.1"
Wed Mar 18 01:58:11 2015 [pid 8257] FTP response: Client "127.0.0.1", "220 (vsFTPd 3.0.2)"
Wed Mar 18 01:58:13 2015 [pid 8257] FTP command: Client "127.0.0.1", "USER john"
Wed Mar 18 01:58:13 2015 [pid 8257] [john] FTP response: Client "127.0.0.1", "331 Please specify the password."
Wed Mar 18 01:58:15 2015 [pid 8257] [john] FTP command: Client "127.0.0.1", "PASS <password>"
Wed Mar 18 01:58:15 2015 [pid 8256] [john] OK LOGIN: Client "127.0.0.1"
Wed Mar 18 01:58:15 2015 [pid 8258] [john] FTP response: Client "127.0.0.1", "230 Login successful."
Wed Mar 18 01:58:15 2015 [pid 8258] [john] FTP command: Client "127.0.0.1", "SYST"
Wed Mar 18 01:58:15 2015 [pid 8258] [john] FTP response: Client "127.0.0.1", "215 UNIX Type: L8"
Wed Mar 18 01:58:16 2015 [pid 8258] [john] FTP command: Client "127.0.0.1", "PORT 127,0,0,1,183,134"
Wed Mar 18 01:58:16 2015 [pid 8258] [john] FTP response: Client "127.0.0.1", "200 PORT command successful. Consider using PASV."
Wed Mar 18 01:58:16 2015 [pid 8258] [john] FTP command: Client "127.0.0.1", "LIST"
Wed Mar 18 01:58:16 2015 [pid 8258] [john] FTP response: Client "127.0.0.1", "150 Here comes the directory listing."
Wed Mar 18 01:58:16 2015 [pid 8258] [john] FTP response: Client "127.0.0.1", "226 Directory send OK."
Wed Mar 18 01:58:22 2015 [pid 8258] [john] FTP command: Client "127.0.0.1", "QUIT"
Wed Mar 18 01:58:22 2015 [pid 8258] [john] FTP response: Client "127.0.0.1", "221 Goodbye."
Wed Mar 18 02:14:44 2015 [pid 8374] CONNECT: Client "xxx.xxx.2.43"
Wed Mar 18 02:14:44 2015 [pid 8374] FTP response: Client "xxx.xxx.2.43", "220 (vsFTPd 3.0.2)"
Wed Mar 18 02:14:46 2015 [pid 8374] FTP command: Client "xxx.xxx.2.43", "USER john"
Wed Mar 18 02:14:46 2015 [pid 8374] [john] FTP response: Client "xxx.xxx.2.43", "331 Please specify the password."
Wed Mar 18 02:14:49 2015 [pid 8374] [john] FTP command: Client "xxx.xxx.2.43", "PASS <password>"
Wed Mar 18 02:14:49 2015 [pid 8373] [john] OK LOGIN: Client "xxx.xxx.2.43"
Wed Mar 18 02:14:49 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "230 Login successful."
Wed Mar 18 02:14:49 2015 [pid 8375] [john] FTP command: Client "xxx.xxx.2.43", "SYST"
Wed Mar 18 02:14:49 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "215 UNIX Type: L8"
Wed Mar 18 02:14:52 2015 [pid 8375] [john] FTP command: Client "xxx.xxx.2.43", "PASV"
Wed Mar 18 02:14:52 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "227 Entering Passive Mode (52,10,22,18,47,5)."
Wed Mar 18 02:14:52 2015 [pid 8375] [john] FTP command: Client "xxx.xxx.2.43", "LIST"
Wed Mar 18 02:14:52 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "150 Here comes the directory listing."
Wed Mar 18 02:14:52 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "226 Directory send OK."
Wed Mar 18 02:15:06 2015 [pid 8375] [john] FTP command: Client "xxx.xxx.2.43", "PORT 10,0,0,2,199,11"
Wed Mar 18 02:15:06 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "500 Illegal PORT command."
Wed Mar 18 02:15:21 2015 [pid 8375] [john] FTP command: Client "xxx.xxx.2.43", "PORT 10,0,0,2,235,22"
Wed Mar 18 02:15:21 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "500 Illegal PORT command."
Wed Mar 18 02:15:24 2015 [pid 8375] [john] FTP command: Client "xxx.xxx.2.43", "PASV"
Wed Mar 18 02:15:24 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "227 Entering Passive Mode (52,10,22,18,46,232)."
Wed Mar 18 02:15:24 2015 [pid 8375] [john] FTP command: Client "xxx.xxx.2.43", "LIST"
Wed Mar 18 02:15:24 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "150 Here comes the directory listing."
Wed Mar 18 02:15:24 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "226 Directory send OK."
Wed Mar 18 02:15:26 2015 [pid 8375] [john] FTP command: Client "xxx.xxx.2.43", "PASV"
Wed Mar 18 02:15:26 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "227 Entering Passive Mode (52,10,22,18,46,254)."
Wed Mar 18 02:15:27 2015 [pid 8375] [john] FTP command: Client "xxx.xxx.2.43", "LIST"
Wed Mar 18 02:15:27 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "150 Here comes the directory listing."
Wed Mar 18 02:15:27 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "226 Directory send OK."
Wed Mar 18 02:15:35 2015 [pid 8375] [john] FTP command: Client "xxx.xxx.2.43", "QUIT"
Wed Mar 18 02:15:35 2015 [pid 8375] [john] FTP response: Client "xxx.xxx.2.43", "221 Goodbye."
Вот последний журнал (я изменил свой внешний IP однако). Интересно, я мог успешно измениться на пассивный от своего внешнего клиента, где я не мог, когда я пытался соединиться на самом сервере. Однако внешний клиент, который я использовал, был другим сервером Ubuntu 14.04, который я имею. Когда я пытался соединить внешне от одного из моего клиентского использования окон FileZilla или WinSCP (на режиме FTP), я не мог соединиться ВООБЩЕ больше (пассивный или активный), и те неудавшиеся соединения не обнаруживаются в журналах вообще также. Сервер, с которым я успешно смог соединиться, находится на той же LAN как клиент окон, таким образом, любые сетевые проблемы должны присутствовать с обоими полями. Я ранее смог соединиться со своим клиентом окон, использующим активные соединения, но по любой причине это не работает даже с этим.
Новый модуль ядра seccomp используется автоматически vsftpd начиная с версии 3.0.0. vsftpd является небольшим багги при использовании seccomp.
Добавляют эту строку до конца/etc/vsftpd.conf
seccomp_sandbox=NO
и перезапускают Сервер:
sudo сервис vsftpd перезапуск