そのため、私はFTP/FTPSを調査してきており、機能するFTPSサーバーをセットアップしようとしています。 FTP(S)を使用するには、vsftpdサービスを使用しており、サーバーはUbuntu 14.04を実行しているAmazon EC2インスタンスです。
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
さて、設定ファイルseemsセットアップはとても簡単です。 HOW-EVER、物事は正しく動作していません...何らかの理由で...
このスレッドで対処したい問題は、パッシブ構成とアクティブ構成の問題です。これで、構成ファイルでpasvモードを有効にしました。 pasvが使用するポートをいくつか指定し、アドレスを指定しました...など(ファイルの構成を以下に投稿します)、それでも... ftp経由の「ls」コマンド!これの実行例を次に示します(私は単にlocalhostにFTP接続しているので、ファイアウォールが邪魔にならないことを知っています(doesファイアウォールが邪魔にならないことを確認します。 。 右?!)):
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は間違いなく動作していません。 :/
おかげで、みんな、私は本当にこれに困惑しています。必要に応じて、さらに情報を提供できます。
追伸ポート12000〜12050、ポート20〜21、TCP ...を開くようにec2セキュリティグループを構成しました。これも問題ではないと思います。
編集1:Ubuntuバージョンは14.04 LTS Trustyです。 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経由でログインしてディレクトリを要求する私が実行されます。その後、ログアウトしてからログインし、passiveコマンドを発行しましたが、元の投稿で示したように、構成ファイルにpasv_enable = YESがあったにもかかわらず失敗しました。
私が気づいた他の何かは、私がちょうど走った場合
$Sudo vsftpd
500 OOPS: could not bind listening IPv4 socket
このエラーが発生します。繰り返しになりますが、私はAmazon ec2を使用しているため、pasv_address = xxx.xxx.xxx.xxxはプライベートIPアドレスではなくパブリックIPアドレスです。ログのどこで、ソケットエラーにバインドできなかったかについて、より詳細なログを見つけることができますか?投稿してからこれを発見したばかりで、これが私の問題の原因だと考え始めています。
EDIT_2:外部ソースから接続して、ローカルで試してみました(サーバーボックスでlocalhostをFTPするだけです)
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モード)を使用してWindowsクライアントの1つから外部に接続しようとすると、AT ALL(パッシブまたはアクティブ)に接続できなくなり、失敗した接続は表示されませんいずれかのログに。接続に成功したサーバーはWindowsクライアントと同じLAN上にあるため、ネットワークの問題は両方のボックスに存在するはずです。以前はアクティブな接続を使用してWindowsクライアントに接続できましたが、何らかの理由でそれでも動作しません。
新しいカーネルモジュールseccompは、バージョン3.0.0以降、vsftpdによって自動的に使用されます。 seccompを使用する場合、vsftpdは少しバグがあります。
この行を/etc/vsftpd.confの最後に追加します
seccomp_sandbox = NO
サーバーを再起動します。
Sudoサービスvsftpd再起動