2013-10-22 7 views
8

Ubuntu 12.04 LTSにFTPサーバーを設定しました。200 PORTコマンドが成功しました。 PASVの使用を検討してください。 425接続の確立に失敗しました

Windows 7からコマンドラインftp.exeを使用してFTPサーバーに接続しようとすると、正常に接続されますが、ディレクトリの一覧を取得できません。私は、エラー

200 PORT command successful. Consider using PASV. 
425 Failed to establish connection. 

答えて

4
を取得

lsを使用する前にpassiveコマンドを使用してみてください。

FTPクライアントから、FTPサーバーがパッシブモードをサポートしているかどうかを確認するには、ログイン後にquote PASVと入力します。続き

pasv_enable=NO

vsftpdオンとオフをパッシブモードでvsftpdはサーバーへの接続例です:

pasv_enable=YES
# ftp localhost 
Connected to localhost.localdomain. 
220 (vsFTPd 2.3.5) 
Name (localhost:john): anonymous 
331 Please specify the password. 
Password: 
230 Login successful. 
Remote system type is UNIX. 
Using binary mode to transfer files. 
ftp> quote PASV 
550 Permission denied. 
ftp> 

vsftpd

# ftp localhost 
Connected to localhost.localdomain. 
220 (vsFTPd 2.3.5) 
Name (localhost:john): anonymous 
331 Please specify the password. 
Password: 
230 Login successful. 
Remote system type is UNIX. 
Using binary mode to transfer files. 
ftp> quote PASV 
227 Entering Passive Mode (127,0,0,1,173,104). 
ftp> 
+0

'quote PASV'は役に立ちません。サーバーのみをパッシブモードに切り替えます。しかし、クライアントではありません。 「WindowsのコマンドプロンプトでパッシブFTPモードを使う方法」を参照してください。(http://stackoverflow.com/q/18643542/850848) –

+0

@MartinPrikryl私はあなたが私の答えを読んでいるかどうかはわかりません。また、人々は私の答えを編集しているようだ。ただし、Windowsのコマンドプロンプトについては正しいです。 – Shannon

+0

はい、私はあなたの答えを読んだ。この質問は、Windowsの 'ftp.exe'(*私はFTPサーバーに接続しようとしています**ウィンドウ7からコマンドライン***を介して)。 Windowsの 'ftp.exe'には、' passive'コマンドはありません。パッシブモードもサポートしていません。だからあなたの答えは質問とは無関係です。 –

8

あなたがでFTPを使用していますアクティブモード。

アクティブモードでのFTPの設定は、ファイアウォールやNATのおかげで煩雑になる可能性があります。

ローカルのファイアウォールまたはNATによって、サーバーがクライアントに接続してデータ転送接続を確立できなかった可能性があります。

クライアントが外部IPアドレスを認識しておらず、サーバーには内部アドレスを提供しています(PORTコマンド内)。サーバーは明らかに使用できません。しかし、デフォルトでvsftpdがFTP制御接続(port_promiscuous指示文)の送信元アドレスと同じでないデータ転送アドレスを拒否するため、このような場合はありません。

私の記事Network Configuration for Active Modeを参照してください。


可能であれば、通常はクライアント側で追加セットアップが不要なため、パッシブモードを使用する必要があります。それはまた、サーバーが「PASVの使用を検討する」と提案したものです。 PASVはパッシブモードに入るために使用されるFTPコマンドです。

Windows FTPコマンドラインクライアント(ftp.exe)は、パッシブモードをまったくサポートしていません。それは今日はかなり役に立たなくなります。

他のサードパーティのWindows FTPコマンドラインクライアントを代わりに使用してください。他のほとんどのものはパッシブモードをサポートします。

たとえば、WinSCP FTP clientはデフォルトでパッシブモードになり、Windows FTP script to WinSCP scriptの変換に使用できるガイドがあります。

(私はWinSCPのの著者です)

2

あなたは管理者からのcmd.exeにこれらのコマンドを入力する必要があるので、実際にあなたの窓のファイアウォールが接続をブロックします。

1)のnetshをadvfirewallは、netshをadvfirewallを追加ファイアウォール)プログラム=の%SystemRoot%\ System32 \ ftp.exeの可能=はいプロトコル= TCP

2許可=アクションで= = "FTP" dirのファイアウォールルールの名前を追加します

:アクションでルール名= "FTP" dirが= =の場合には、何かがうまくいかないならば、あなたは、このことにより、元に戻すことができますプログラム=の%SystemRoot%\ System32 \ ftp.exeの可能=はいプロトコル= udpの

許可します

1)netsh advfirewallファイアウォールの削除ルール名= "FTP" program =%SystemRoot%\ System32 \ ftp.exe

+0

私のために働きますありがとう –

関連する問題