ec2にてftpでパッシブを使用するときにハマったポイント
インフラチームの伊藤です。
ec2インスタンスでFTP(vsftpd)をパッシブで使う機会があったときになかなかうまくFTPの通信が出来なかったので、
押さえておくべきポイントを紹介しておきたいと思います。
vsftpdって、Very Secure FTP Daemonの略だったんですね。
セキュリティグループだけじゃない
ec2のファイアウォールとしてセキュリティグループで制御する方が多いかと思います。
セキュリティグループを使って、FTPを使用するIPアドレスのみを許可する、って流れですね。
また、FTPでパッシブを使うときは、セキュリティグループにてパッシブのポートも解放してあげる必要があります。
こんな感じ
で、vsftpd側でも設定してあげます。
パッシブを使う、パッシブに使うポートの設定です。
# vim /etc/vsftpd/vsftpd.conf pasv_enable=YES pasv_min_port=60000 pasv_max_port=60030
ただ、これだけじゃ繋がらないんですよね。。。
ec2においてvsftpdがパッシブするときの通信
ec2って、基本的にパブリックIPを知らないんですよね。
ifconfigしてみると、ローカルIPのみ返ってきますよね。
ってことは、パッシブ通信を行うのは「ec2インスタンスのローカルIP」ということになります。
「ftp通信は出来るけど、パッシブ通信が出来ないからディレクトリの一覧は出せないよ」というようなことになり、FTP接続に失敗します。
これを解決するには、パッシブ通信をすべきIPアドレスをvsftpdに設定してあげるとOKです。
こんな感じ。
# vim /etc/vsftpd/vsftpd.conf pasv_address=<パブリックIP>
FTPはこれで大丈夫です!!
この記事がお役に立てば【 いいね 】のご協力をお願いいたします!