Help us understand the problem. What is going on with this article?

EC2にvsftpをセッティングする際のハマリポイント

More than 5 years have passed since last update.

EC2にvsftpインストールする際、Security Groupの設定ではまったのでメモ

インストール

vsftpをインストール

$ sudo yum install vsftp

次に空のポートを確認

$ cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000

で、vsftp.confを編集

$ vi /etc/vsftpd/vsftpd.conf
分類 内容 意味
修正 anonymous_enable=NO 匿名ユーザーのログインは許可しない。
修正 dirmessage_enable=NO ユーザが新しいディレクトリに初めて移動したとしてもメッセージは表示しない。
修正 ascii_upload_enable=YES アスキーモードのアップロードを有効にする。
修正 ascii_download_enable=YES アスキーモードのダウンロードを有効にする。
修正 chroot_local_user=YES ローカルユーザーのルートを各自のホームに変更する。
修正 chroot_list_enable=YES chroot_listを有効にする。ファイルはデフォルト(chroot_list_file=/etc/vsftpd/chroot_list)になる。
修正 tcp_wrappers=NO ホストへのアクセスを制御しない。(EC2のSecurity Groupsで設定する方がよい)
修正 connect_from_port_20=NO ActiveFTPを無効にする。
修正 xferlog_std_format=NO wu-ftpdではなく,vsftpdログ形式でログを記録する。
追加 pasv_enable=YES PASV FTPを有効にする。
追加 pasv_addr_resolve=YES PASVモード接続先IPアドレスをホスト名から取得する。
追加 pasv_address=固定IP Elestic IPを設定する。(インスタンスのPublic DNSを指定するとPASVモードでの接続はできない。バージョン2.0.4以降であれば、IPが固定でなくても pasv_addressにDDNSを書くことで動的なIPに対応できる。)
追加 pasv_min_port=60001 PASVモード接続時の最小ポート番号を設定する。(確認した空きポートの範囲で設定)
追加 pasv_max_port=60010 PASVモード接続時の最大ポート番号を設定する。(確認した空きポートの範囲で設定)
追加 use_localtime=YES ローカルタイムを使用する。(デフォルトはGMT)
追加 force_dot_files=YES .(ドット)で始まるファイルを隠さない。

ルートディレクトリにアクセス出来るユーザーを設定します。

$ vi /etc/vsftpd/chroot_list

ユーザーを追加します。

$ adduser [ユーザー名]
$ passwd [パスワード]

サービスを起動

$ service vsftpd start
$ chkconfig vsftpd on

Security Groupの設定

ここでハマりました。。。。。。。
以下の値をEC2のSecurity Groupに追加します。

TCP

Type Protocol PortRange Source
Custom TCP Rule TCP 21 0.0.0.0/0
Custom TCP Rule TCP 60000 - 60010 0.0.0.0/0

60000 - 60010 PortRangeを指定する際は単純にハイフン区切りでok.

以上

追記

アクティブモードでは接続出来るが、パッシブモードでは接続出来なくてかなりハマっていた。
EC2の場合、pasv_addressにグローバルIPを指定しないといけなかったぽい。
以下の記事を参考にしたらすんなり解決した!!あざす!!

余談

本稿とは全く関係ないが、今回参考にさせて頂いたブログの別記事「独習のしかた
の考え方がかなり勉強になった。アウトプットの重要さをひしひしと感じた。

車輪の再発明は大事..

dogyear
トイレに行きたい、早くトイレに行きたい。
http://twitter.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした