事象
コマンドプロンプトまたはPowerShellを使用してFTPコマンドで対象サーバーには接続できるが、ls
や get
コマンドの応答がないという状況が発生しました。
表示されたメッセージは以下の通りです:
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
端末のOSはWindows 11でしたが、調査の結果、00年代や10年代の記事も多く見つかり、どうやらこのエラーは以前からWindows環境でよく見られる問題のようです。
解決策
- 「セキュリティが強化されたWindows Defenderファイアウォール」を開く
- 「受信の規則」セクションで、FTPコマンドがブロック(拒否)されている規則がないかを確認
- FTPコマンドがブロックされている規則があった場合、それを削除
私のケースでは、知らないうちにFTPコマンドをブロックする規則が追加されていました。特に心当たりはありませんでしたが、その規則を削除することで問題が解決しました。
逆に、FTPコマンドを許可する規則を新たに作成することで解決できる場合もあるようです。