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を指定しないといけなかったぽい。
以下の記事を参考にしたらすんなり解決した!!あざす!!
- Amazon EC2 (Amazon Linux) での vsftpd インストールと設定
- Amazon Linuxにvsftpをセットアップする方法
- AWSAWSでFTPサーバー立てる時に気をつけるべき2つのこと+α
余談
本稿とは全く関係ないが、今回参考にさせて頂いたブログの別記事「独習のしかた」
の考え方がかなり勉強になった。アウトプットの重要さをひしひしと感じた。
車輪の再発明は大事..