web-dev-qa-db-ja.com

Filezilla FTPサーバがディレクトリリストの取得に失敗する

私は自分のサーバーをリモートで管理するためにFilezilla Server 0.9.45 Betaを実行しています。セットアップした後、私はIP 127.0.0.1を使ってそれに接続することをテストしました、そして、それはうまくいきました。しかし、サーバーにリモート接続するには、ポート21にポート転送し、コンピューターのIPを使用して接続しようとしました。

Status: Connecting to [My IP]:21...
Status: Connection established, waiting for welcome message...
Response:   220 Powered By FileZilla Server version 0.9.45 beta
Command:    USER hussain khalil
Response:   331 Password required for user
Command:    PASS *********
Response:   230 Logged on
Status: Connected
Status: Retrieving directory listing...
Command:    CWD /
Response:   250 CWD successful. "/" is current directory.
Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I
Command:    PORT 192,168,0,13,205,63
Response:   200 Port command successful
Command:    MLSD
Response:   150 Opening data channel for directory listing of "/"
Response:   425 Can't open data connection for transfer of "/"
Error:  Failed to retrieve directory listing

これはローカルで動作し続けますが、リモートで接続している場合はそうではありません...どうすればこれを解決できますか?

63
Hussain Khalil

あなたのサーバにportコマンドを送信すると、あなたは(リモートネットワーク上で)あなたに接続するようにサーバに求めています。リモートネットワークにもNATルーターがあり、PORTコマンドで送信しているポートをポート転送していない場合は、サーバーにアクセスできません。

最も一般的な解決策は、PORTコマンドの代わりにPASVコマンドをサーバーに送信することです。 PASVコマンドは、サーバーに待機ソケットを作成し、リモートマシンからの接続を受け入れてデータ接続を確立するように依頼します。

PASVコマンドを機能させるには、パッシブデータ接続用のポート範囲をポートフォワードする必要もあります。パッシブ接続ポート(転送する必要があります)はFileZillaのドキュメントに記載されているはずです。

26
Evan

サイトマネージャで、暗号化を「利用可能であれば明示的なFTP over TLSを使用する」から「プレーンFTPのみを使用する(安全でない)」に変更しました。

120

ファイル> サイトマネージャ>あなたのサイトを選択してください> 転送設定> アクティブ

私のために働きます。

35
Marcos Nakamine

ここでの答えの大部分は、実際にあなたのホストにsftp://を追加することによって構成することを含みます(下の画像を見てください)あなたは即座にその種の問題を直すことができます。

enter image description here

また、 Vaggelisガイド に従うとセキュリティが低下するので、sftpは単純なftpを使用するよりも優れていることにも注意してください。

サイトマネージャで、暗号化を「利用可能であれば明示的なFTP over TLSを使用する」から「プレーンFTPのみを使用する(安全でない)」に変更しました。

19
Cary Bondoc

私の経験では、新しいバージョンのFilezillaにはこの問題がありますが、古いバージョンにはありません。私はFilezillaを使用していて、すべて問題ありませんでした。バージョン3.10にアップグレードした後、私はこの問題に直面しました、そして、私はそれを解決することができませんでした。バージョン3.10をアンインストールし、バージョン3.8を再インストールしたところ、問題は解決しました。今、私はバージョン3.8を使用していて、すべて問題ありません。たとえ私が古いバージョンを使わなければならないとしても、私は問題に直面しないことを好みます。 ;)

古いバージョンをインストールしてアップグレードしないでください、奇妙なことに聞こえるかもしれません。

9

わかりましたこれは大いに役立ちました、私は修正を見つけることができませんでした。

簡単に言うと、すでにFTPポートを自分のサーバーにポート転送しています。 (デフォルトは14147です。これを例として使います)

[編集]> [一般設定]に移動します。リスニングポートは、使用しているポート(この場合は14147)になります。

それからパッシブモードの設定に行き、私は "Use Custom Port"をチェックし、そして50000から50100の範囲に入った。

それからあなたのルーターで、50000 - 50100をサーバーのIPアドレスにローカルに転送します。

IPv4固有の設定デフォルトのままにしてクライアントに再接続し、ファイルリストを表示します。

サーバーのファイアウォールに、14147と50000-50100を受け入れるように設定された受信ルールがあることを確認してください。

基本的にEvanが述べたこと。私はこれらのポートを開くことの安全性を証明することはできませんが、これが私のFilezillaクライアントとサーバーがファイルをやり取りして見るためのものになりました。これが誰かに役立つことを願っています。

9
Home Nerd

私はSite Managerに行くことによってこれを解決しました - > Failed to retrieve directory listing - >タブ "転送設定"に切り替えて "デフォルト"ではなく "転送モード"を "アクティブ"に設定した接続を選択しました。また、VPNなどで接続されているかどうかも確認してください。これも干渉する可能性があります。

4
Ogglas

私は同じ問題を抱えていた - 私のために働いていた - Windows OSの中で - FileZillaをファイアウォールの例外として追加している - ファイアウォール機能を介してプログラムを許可する

3
IjonTichy

私は同じ問題を抱えていました、これはファイアウォールのせいでした。私はwindowsサーバーを使っています、

ポート21,22の許可の代わりにプログラムのための接続許可を許可できますか。

Windows Firewall with Advanced Security->
Inbound Rules->
Add Rule->
Program->
"Select Filezilla path with Browse button"->
Allow the Connection
2
Ferhat KOÇER

私はFilezilla 3.6を持っていて、OPと同じ問題を抱えていました。私は3.10.3にアップグレードしましたが、それで解決すると思います。いや、まだ同じです。

それから私はオプションについて少し掘り下げました、そして私のために働いたのは以下の通りです:

[編集] - > [設定] - > [FTP] - > [パッシブモード]を選択し、[代わりにサーバーの外部IPアドレスを使用する]に切り替えます。

1
Zoran P.

私のノートブックがWLANとDSL /ルーターを介して接続している間、私はFZクライアントで同じ問題を経験しました。 Site Managerの接続設定で、ホスト:ftp.domain-name、暗号化:プレーンFTP(安全でない)のみを使用し、ユーザー:username @ domain-nameを適用しました。それからFTPクライアントは私のウェブサイトのサーバーにうまく接続しました。より多くのFTP接続情報はWebサーバのCPanelで見つけることができます。お役に立てれば。

1
Pram

ルータのIPアドレスがFTPサーバのものと同じであるかどうか確認して下さい。そうでなければそれが同じであることを確認してください。これは完璧に機能するはずです。

0
favourworks

私は自分のサーバーがクラウドでホストされているのでこの問題を抱えていた。私は1年に2、3回サーバを必要としているだけなので、サーバを起動するとIPアドレスが変わります。 FTPサーバーのパッシブモード設定で新しいIPアドレスを更新する必要があります。

最新バージョンのFilezillaは問題なく動作します。

0
chhenning

VestaCPを使用している場合は、Linuxファイアウォールでポート12000-12100 TCPを許可することをお勧めします。

あなたはVestaCP設定でこれを行うことができます。

0

高度なセキュリティでWindows Defender Firewallを実行する

スタート>ファイル名を指定して実行:wf.msc

enter image description here

0
Alper Ebicoglu

私は3.10にアップグレードした後にも問題を抱えていました。私は3.6.02のバージョンをぶら下げてインストールしました。問題が解決しました。

0
user4434803

私の場合、私のルーターを再起動する私はインターネットに接続するために使用していた==がうまくいった。あまりにも多くの接続が同じIPアドレスから行われていて、ルーターを再起動したときに、おそらく新しいIPが割り当てられ、現在はすべて正常に機能していると思います。

0
Reejesh PK