CentOS6.2でのvsftpdについて

このQ&Aのポイント
  • CentOS6.2でFTPを利用するためのvsftpdの設定方法について説明します。
  • vsftpdをインストールし、ファイアウォールの設定やホストファイルの編集を行い、FTP接続を試みましたが、最初の接続で「接続を拒否されました」というエラーメッセージが表示されます。
  • WindowsのFFFTPからは正常に接続できるため、原因や解決方法を知りたいと思っています。
回答を見る
  • ベストアンサー

CentOS6.2でのvsftpdについて

いつもお世話になります。 WordPressフォーラムと一部マルチポストになっていることはご容赦ください。 CentOS6.2でWordPressを使おうとFTPの設定を始めました。 # yum install vsftpd # yum install ftp ファイアウォールの設定でFTPにチェックを入れました。 /etc/sysconfig/iptables-config に IPTABLES_MODULES="nf_conntrack_ftp" と追加した後で # service iptables restart しました。 /etc/hosts.allow に fvftpd: ALL を追加した後で # service vsftpd start # chkconfig vsftpd on # setsebool -P ftp_home_dir on # service vsftpd restart まで作業しました。 そこでターミナルからFTPを試してみました。 >FTP localhost Trying ::1... ftp: connect to address ::1接続を拒否されました Trying 127.0.0.1... Connected to localhost (127.0.0.1). 220 (vsFTPd 2.2.2) Name(localhost:ユーザ名): ここからユーザ名とパスワードを入力すると普通にFTPが利用できます。  どうも最初の接続を拒否されましたという部分が原因でWordPressのプラグインの扱いに失敗しているようです。  WindowsのFFFTPからつなげると普通に接続できます。 「接続を拒否されました」という部分の解決方法がお分かりでしたら、ぜひご教示ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

VMWareのCentOS6.2で試してみました。 設定ファイル1つでは、IPv4とIPv6両方に対応することは出来ない…ようです。 cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd6.conf とでもして、listen=yesとlisten_ipv6=yesで別々に作る必要がありそうです。 IPv6を使わないのでしたら… Web検索してIPv6無効化の処理を行って下さい。 # DNSとかでlocalhostを引いた時に先にIPv6を返すようになっている…みたいですね。 # localhostだからDNSではないかも知れませんけど…。

kumaow
質問者

お礼

わざわざ実験までしていただきありがとうございます。 IPv6の無効化が必要なんですね。 少し、調べてみます。 試した結果は補足に載せさせていただきます。 もしもわからなかったときは、ご迷惑おかけしますが、また質問させていただくかと思います。 とりあえず、ありがとうございました。

kumaow
質問者

補足

とりあえず、/etc/vsftpd/vsftpd.conf野中の listen=yes listen_ipv6=no としてみましたが ftp: connect to address ::1接続を拒否されました は表示されます。 いまだ可決に至っていません。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

>>FTP localhost >Trying ::1... >ftp: connect to address ::1接続を拒否されました とりあえず確認ですが…IPv6は使うんですか?使わないんですか? 使うのであれば、IPv6の方もファイヤウォール開ける必要があるでしょうし、 vsftpd.confにも設定が必要かと思われます。 # 「::1」はIPv6でのlocalhostです。 # /etc/hostsに書かれていると思いますが…。

kumaow
質問者

お礼

すばやいご回答ありがとうございます。 IPv6は使う予定はありません。 IPv4の設定さえすればそれだけですむと思っていました。 どうやらIPv6についても調べる必要があるようですね。 少し、調べてみます。 ありがとうございました。

kumaow
質問者

補足

No.2に補足を書いてしまったので、順番がおかしいですが、こちらに結果を書くことにします。 No.2の補足のとおり listen=YES listen_ipv6 にすれば、IPv4のみが有効になるようです。 それで「接続を拒否されました」という表示ですが、これはサーバ側ではなくクライアントプログラムとしてのFTPコマンドに問題があるようです。 CentOS6のFTPコマンドは、デフォルトだとまずIPv6でつなぎにいき、それで拒否されたらIPv4で接続に行くという仕様のようです。 私の調査不足からご面倒おかけしました。 ありがとうございました。

関連するQ&A

  • vsFTPD トップ(/)が表示できない

    お世話になります。 ご存知の方がいらっしゃいましたらご教授の程よろしくお願いします。 (1)下記の設定で、vsFTPDを実行したところ、 ユーザでログインすると上の階層まで見えてしまいます。 googleで検索したサイトの記載通り行いましたが、 上の階層が見える現象は変りませんでした。 (2) 停止中に「失敗」する。 svFTPdデーモンをリスタートすると停止中に「失敗」します。 再起動 [root@localhost ~]# /etc/rc.d/init.d/vsftpd restart vsftpd を停止中: [失敗] vsftpd 用の vsftpd を起動中: [ OK ] ================================== /etc/vsftpd/vsftpd.conf anonymous_enable=NO idle_session_timeout=300 data_connection_timeout=30 ascii_upload_enable=YES ascii_download_enable=YES #■chrootの設定 chroot_list_enable=YES chroot_local_user=YES chroot_list_file=/etc/vsftpd.chroot_list ls_recurse_enable=YES pam_service_name=vsftpd userlist_enable=NO tcp_wrappers=YES xferlog_std_format=NO use_localtime=YES pasv_promiscuous=YES pasv_min_port=50000 pasv_max_port=50030 #■ vsftpd で local_root = public_html ■ local_root = public_html ================================== ftpログインしたユーザには上位の階層は見せたくないと考えております。 よろしくお願いします。

  • FTP(vsftpd)が接続、また実行できません。

    CentOS 6.0に下記のコマンドでFTPをインストールしました。 yum -y install vsftpd ちゃんとインストールされているかを下記のコマンドで確認したらパスが出力されました。 which vsftpd /usr/sbin/vsftpd そこで下記のコマンドで設定ファイルを開いて下記のように変更しました。 vi /etc/vsftpd/vsftpd.conf ------------------------------------ anonymous_enable=NO ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to blah FTP service. chroot_local_user=NO ls_recurse_enable=YES ------------------------------------ ※上記の設定以外はそのままです。 下記のコマンドでランレベルを確認しました。 chkconfig vsftpd on chkconfig --list vsftpd -------------------------------------------------- vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off -------------------------------------------------- そこで下記のコマンドでポートを開けました。 vi /etc/sysconfig/iptables ------------------------------------------------------------ -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT ------------------------------------------------------------ クライアントPCから接続できるかテストを実行しました。 1.Tera Term上でFTPコマンドを実行。  下記のエラーメッセージが出力されました。  -bash: ftp: コマンドが見つかりません 2.「FileZilla Client」で接続できるか実行  ※下記の内容は「FileZilla Client」で出力されたログです。  状態: サーバーから切断されました  状態: localhost のアドレスを解決しています  状態: 192.168.1.xxx:21 に接続しています...  状態: 接続が確立されました, ウェルカム メッセージを待っています...  応答: 220 Welcome to blah FTP service.  コマンド: USER *****  応答: 331 Please specify the password.  コマンド: PASS ********  応答: 230 Login successful.  コマンド: OPTS UTF8 ON  応答: 200 Always in UTF8 mode.  状態: 接続されました  状態: localhost のアドレスを解決しています  状態: 192.168.1.xxx:21 に接続しています...  状態: 接続が確立されました, ウェルカム メッセージを待っています...  応答: 220 Welcome to blah FTP service.  コマンド: USER *****  応答: 331 Please specify the password.  コマンド: PASS ********  応答: 230 Login successful.  コマンド: OPTS UTF8 ON  応答: 200 Always in UTF8 mode.  状態: 接続されました  状態: ディレクトリーの一覧を読み出しています...  コマンド: PWD  応答: 257 "/home/*****"  コマンド: TYPE I  応答: 200 Switching to Binary mode.  コマンド: PASV  応答: 227 Entering Passive Mode (192,168,1,xxx,234,116).  コマンド: LIST  エラー: 接続タイムアウト  エラー: ディレクトリー一覧表示の取得に失敗しました。 恥ずかしい話ですがネットで検索してもわかりませんでした。 すみませんがアドバイスいただけませんでしょうか。 宜しくお願いします。

  • CentOS6.3のvsftpd不具合

    CentOS6.3のFTPサーバーvsFTPd 2.2.2で不具合が発生しています。 現象は、ログイン後、ユーザーのホームディレクトリーに自動移動できなくて、接続がクローズします。 /etc/vsftpd/vsftpd.confはデフォルトのまま使用しています。 Windowsのftpを使うと下記のエラーが出ます。 c:\Work>ftp nsbbsv1 nsbbsv1 に接続しました。 220 (vsFTPd 2.2.2) ユーザー (nsbbsv1:(none)): hogehoge 331 Please specify the password. パスワード: 500 OOPS: cannot change directory:/home/hogehoge 500 OOPS: 500 OOPS: child died 接続がリモート ホストによって閉じられました。 ここで、/home/hogehogeがホームディレクトリーなのですが、そこに自動移動できません。 CentOS6.3の/var/log/messagesを見ると、セキュリティ違反が発生しています。 Aug 10 09:40:45 nsbbsv1 kernel: type=1400 audit(1344559245.452:47414): avc: denied { search } for pid=3435 comm="vsftpd" name="/" dev=sda5 ino=2 scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=dir CentOS5.6までは、vsftpdには、このような問題は発生していません。 vsftpdのバグなのかどうか分かりませんが、回避方法をご存じの方、ご教示をお願いします。

  • FTPサーバー構築

    CentOS6.6をVmwarePlayer上にインストールし Linuxの学習をしていますが、FTP(CentOS標準のvsftp)サーバーがうまく動作しません。 構築手順は以下となります。 (1)vsftpインストール [root@localhost home]#yum instarll vsftpd (2)パッシブモード許可設定 [root@localhost home]#vi /etc/vsftpd/vsftpd.conf (3)vsftpd.confの最終行に以下を追加 pasv enable=YES pasv_min_port=10100 pasv_max_port=10150 (4)SELinux無効設定 [root@localhost home]#vi /etc/sysconfig /selinux SELinux=enforcingを SELinux=disabledに変更 (5)vsftpd起動 [root@localhost home]#service vsftpd start vsftpd 用の vsftpd を起動中: [ OK ] と表示される。 (6)FTPサーバーにアクセス [root@localhost home]#ftp localhost -bash: ftp: コマンドが見つかりませんと表示される。 なぜでしょうか?

  • vsftpdでのパスワードは?

    vsftpdをインストールして、設定をしています。 vsftpd.confで、 userlist_enable=YES userlist_deny=NO と追加して、vsftpd.user_listで、 ftp というユーザを書いてみました。そして端末から、ftp 192.168.1.5等と打って、接続しようとしたのですが、パスワードを打つと、 Password: 530 Login incorrect. Login failed. となり、拒否されてしまいます。パスワードというのは、どこで設定すればよいのでしょうか?ユーザ名と同じ文字列や、Linuxにログインするときのパスワードの文字列を打っても入れません。 よろしくお願いします。

  • inetdに関連について

    この掲示板結構載ってますが、 inetdとxinetdについて質問です。 今、標準でrpmに入っていたxinetdを使っているのですが、 参照URL→http://sakaguch.com/pastbbs/0021/B0011566.html を元に修正してみました。 1./etc/xinetd.d/にvsftpdおよびsshdの作成 2,standaloneにしない為、/etc/vsftpd/vsftpd.confの修正 3.サービスの自動起動OFF 4.起動しているサービスの停止  /etc/rc.d/init.d/vsftpd stop 5.xinetdの再起動の再起動 上記5つ手順を実施したのですが、 ローカル環境で ftp localhost でFTP接続確認をしたところ、 connect: Connection refusedというエラーが出てしまいました。 iptablesやpsで見てもFTPなどのポートが出てきません 他に修正するところがあるのでしょうか。 特に気になったのが、他にも参考にして作成をしたのですが、 vsftpdなどサービスを停止してしまっているから つながらないのは当たり前だと思っております。 分かりにくいかもしれませんが、教えてください

  • vsftpdが起動できない

    現在、株式会社KDDIウェブコミュニケーションズのVPSを 借りているのですが、管理ツールがよくわからないので SSHを利用してサーバを構築していこうと考えています。 OSはCentOS5です。 それで、FTPサーバとしてVSFTPDを使用しようと思い vsftpd.confの設定を行い /etc/rc.d/init.d/vsftpd start でVSFTPDを起動しようとしたのですが 失敗になってしまいます。 こういった場合、何か原因として考えられることはありますでしょうか? ちなみにvsftpd.confの設定も何度も見直しました。 また、/var/lock/subsys/にvsftpd という file はありませんでした。 FTPクライアントで接続できないとかではなく、そもそも VSFTPDを起動できなくて困っています。 よろしくお願いいたします。

  • ip_conntrack_ftpのインストール

    現在、CentOS5で、vsftpを使って、FTPサーバを立てようとしているのですが、 FTPでpassiveモードで繋がらないという状況(固まる感じ)に陥り、 色々調べたところ、iptablesで必要なモジュールを読み込んでおく 必要があるということがわかりました。 そこで、 /etc/sysconfig/iptables-configに、以下のような設定をし、 IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp" この状態で、iptablesを再起動したのですが、 モジュールの読み込みで失敗となりました。(以下、参照) # /etc/rc.d/init.d/iptables restart Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: mangle filter [ OK ] Unloading iptables modules: [ OK ] Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_ftp ip_na[FAILED] そこで、以下のようにモジュールをロード、インストールしようとしたところ # modprobe ip_conntrack_ftp # modprobe ip_nat_ftp FATAL: Could not load /lib/modules/2.6.18-028stab070.14/modules.dep: No such file or directory 上記のエラーが出て、ここから先、どうすればよいのかわかりません。 どなたか、この状況の場合、どのような作業を行えばよいのか教えていただけないでしょうか?

  • vsftpdの設定

    OS:CentOS5.4 パッケージ:vsftpd FTPサーバの設定をしています。 vsftpd.conf設定 ---------------------------------------------------------------- anonymous_enable=no dirmessage_enable=YES ascii_upload_enable=YES ascii_download_enable=YES listen=YES pam_service_name=vsftpd userlist_enable=YES userlist_deny=YES tcp_wrappers=NO ---------------------------------------------------------------- また、SELinuxは無効にしています。 デーモンも立ち上がっています。 この状態でFTP接続をすると以下になります。 ---------------------------------------------------------------- ftp サーバ名 Connected to サーバ名(IP) 220 (vsFTPd 2.0.5) Name (サーバ名:root):guest 331 Please specify the password Password: 230 Login successful. 421 Service not available, remoute server has closed connection ---------------------------------------------------------------- iptablesを切ってもこの状態の為、つながらない理由がわかりません。 ご教志願います。

  • vsftpdで動的IP制限をかけたい

    Ubuntuでvsftpdを使っています。 ftpでIP制限を行うには、tcp_wapperの利用を行い、/etc/hosts.denyや/etc/hosts.allowにより設定すると実行できることは確認できております。 ただし、WEBからの許可IPリストを追加するCGIで、ftpのIP制限を行う事をやりたく、vsftpdから見るIP許可設定(/etc/hosts.allow)を別ファイルを参照するようにする事はできないでしょうか? 別の方法で代替ができるということならば、それも含めて情報をいただけると幸いです。 よろしくお願いします。