コマンドを実行すると、FTPセッションから追い出されるのはなぜですか?


12

コマンドを実行すると、FTPセッションから追い出されるのはなぜですか?サーバーに正常にログインすると、「ls」などのコマンドを実行した後に次のメッセージが表示されます(「[ERROR]」タグでエラー部分を囲みました)。

allen92@allen92-VirtualBox:~/Videos$ ftp -n ftp.FreeBSD.org
Connected to ftp.FreeBSD.org.
220 beastie.tdk.net FTP server (Version 6.00LS) ready.
ftp> user
(username) anonymous
331 Guest login ok, send your email address as password.
Password: 
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
[ERROR]
421 Service not available, remote server has closed connection
[ERROR]
ftp> 

これは、リモートFTPサーバーで発生するようです。ローカルマシンにログインしてFTPコマンドを実行すると、すべて正常に動作します。実際に「421」エラーが一般的なエラーである場合、問題の原因を見つける方法はありますか?これに関するすべてのリードをいただければ幸いです。私はこの特定の問題に関するサポートを見つけることができませんでした。同様の問題を抱えている人はあなたの考えを共有してください。

注:VSFTPDがインストールされています。

回答:


13

おそらく、あなたとサーバーの間にNATファイアウォールがあり、症状を示しています。(NATファイアウォールは、単一のIP番号の背後にネットワーク全体を隠します)。

問題は、FTPは新しい、でコマンドの結果のデータ送信したいということである別の TCP / IP接続をし、それはそれはあなたに、サーバーから行く必要があるため、ファイアウォールを通過することはできません、あなたが持っているファイアウォールの背後に隠されていますデータがマシン向けであることの手掛かりはありません。FTPプロトコルが設計されたとき、NATルーター(利用可能なIPアドレスよりも多くのデバイスがあったときに必要になった)のような多くの最新のデバイスはまだ発明されていません。

pasvコマンド(クライアントでは異なるものと呼ばれることもあります)を使用して、データ接続がユーザーからサーバーに送られるパッシブ接続に変更します。

詳細な説明については、http://slacksite.com/other/ftp.htmlを参照してください


どうもありがとう。VSFTPDの場合、パッシブモードに入るためのコマンドは「パッシブ」です。これは今のところ機能しているようです。この状況全体は、仮想マシンでLinuxインストールを実行することと、それほど標準的ではない設定に関係していると思います。デフォルトで「パッシブ」モードを有効にする方法について説明します。見つけたら、興味のある人に投稿します。
アレンダー

仮想マシンのデフォルトネットワークが何らかのNATであることは珍しいことではないため、マシンは公開されません。VirtualBoxをBridgedに変更すると、ローカルネットワーク上の他のマシンと同様に表示されます。
トールビョーンラウンアンデルセン

-1

/etc/vsftpd.confでこの行を追加または有効にします

seccomp_sandbox = NO


この回答は私の問題を解決しましたが、この文書化されていない設定に関する質問がまだあります。
A1rPun

seccomp_sandbox=NO特定の状況下で正しい答えが/etc/vsftpd.confファイルに記載されているのはなぜですか: `` `#seccomp_sanboxは、vsftpdを介して実行できるsyscallの数を制限する追加のセキュリティレイヤーを追加します。ただし、ホワイトリストが正当な呼び出しを許可せず(通常、pamやopensslなどのサードパーティライブラリによって#間接的にトリガーされる)、プロセスがカーネルによって強制終了される場合があります。##そのため、サーバーが一般的な状況(ファイルのダウンロード、アップロード)で
停止
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.