31

fedora インスタンスを使用して Amazon ec2 に vsftpd をインストールしました。これは最新バージョンですが、次のエラーが表示されます。

COMMAND:> PASV 227 Entering Passive Mode (192,168,10,46,14,20)
COMMAND:> LIST
ERROR:> Can’t connect to remote server. Socket error = #10065.
ERROR:> PASV failed, trying PORT.

ファイルジラでは:

Command: PASV Response: 227 Entering Passive Mode (192,168,10,46,14,20)
Command: LIST Error: Connection timed out
Error: Failed to retrieve directory listing.

シェル経由で接続しようとしていて、ディレクトリのリストを表示しています。

4

7 に答える 7

69

これとまったく同じ問題が発生しました...これは通常、パッシブモードを使用するGUI ftpクライアントにのみ影響します(これはかなり一般的です)。たとえば、標準の ftp コマンド ライン ツールを使用すると、正常にログインしてファイルを ftp サーバーにアップロードできました。

修正する手順は次のとおりです。

  1. 次の設定を /etc/vsftpd.conf ファイルに追加します。

    pasv_enable=YES pasv_min_port=64000 pasv_max_port=64321 port_enable=YES

  2. また、状況に応じて、次の構成チャンクのいずれかを /etc/vsftpd.conf ファイルに追加します (いずれにせよ、これはパブリックにアクセス可能な IP に解決する必要があります)。

あ:

pasv_address=<your-static-ip-most-likely-from-elastic-ips>
pasv_addr_resolve=NO

-また-

b:

pasv_address=<your-publicly-resolvable-host-name>
pasv_addr_resolve=YES
  1. EC2 インスタンスのセキュリティ グループ設定で、次のカスタム インバウンド tcp ルールを追加します。
  • 標準 ftp のポート 20 ~ 21 を有効にします。
  • 上記の構成セクションで定義されているように、パッシブ ポートを有効にします (私は 64000-64321 を使用しました)。
  1. vsftpd サービスを再起動します (Linux のフレーバーによって異なります)。

注: pav ポート範囲は、ファイアウォール、NAT の外側に表示される必要があります。

詳細情報の参照先:

于 2012-08-07T00:07:03.383 に答える
20

error: failed to retrieve directory listingamazon ec2 では、転送モードをアクティブに変更するだけで修正できます。

この投稿では、filezilla を使用して簡単に実行する方法について説明します。

https://nabtron.com/error-while-connecting-to-amazon-ec2-via-ftp-solution/

于 2011-09-19T21:24:20.783 に答える
2

このスレッドを見てください:

http://www.gosquared.com/liquidicity/archives/936

于 2011-02-03T13:27:34.633 に答える
2

これは私にとってはうまくいきます。

以下は設定です/etc/vsftpd.conf

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
pam_service_name=ftp
pasv_enable=YES
pasv_min_port=13000
pasv_max_port=13100
port_enable=YES
pasv_address=AWS-IP-Address
pasv_addr_resolve=no

保存してサービスを再起動します

$ sudo service vsftpd restart

セキュリティグループで以下のポートを開く

  • 0.0.0.0/0 からのカスタム TCP 20
  • 0.0.0.0/0 からのカスタム TCP 21
  • 0.0.0.0/0 からのカスタム TCP 13000
  • 0.0.0.0/0 からのカスタム TCP 13100

FileZilla FTP クライアントからの接続中に以下のエラーが発生する場合があります。

Error:  Connection timed out
Error:  Failed to retrieve directory listing

これを解決するには;

  • Filezilla を開き、[編集] -> [設定] に移動します。
  • [接続] -> [FTP] をクリックします。[アクティブ] を選択します。
  • [接続] -> [FTP] -> [アクティブ モード] をクリックします。[オペレーティング システムに外部 IP アドレスを問い合わせる] を選択します。
  • [接続] -> [FTP] -> [パッシブ モード] をクリックします。[アクティブ モードにフォール バック] を選択します。[OK] をクリックします。

もう一度 FTP サイトに接続してみてください。

于 2016-04-24T13:50:12.073 に答える
0

可能であれば、パッシブ モードを使用する必要があります。Bucho のリンク先の記事で述べたように、PASV モードのポート範囲を定義し、EC2 セキュリティ グループでその範囲を開くだけです。

于 2011-11-17T18:37:41.153 に答える