どんな事でもお気軽にお問い合わせください
0120-803-656
24時間受付いたします

ec2にてftpでパッシブを使用するときにハマったポイント


インフラチームの伊藤です。

ec2インスタンスでFTP(vsftpd)をパッシブで使う機会があったときになかなかうまくFTPの通信が出来なかったので、
押さえておくべきポイントを紹介しておきたいと思います。

vsftpdって、Very Secure FTP Daemonの略だったんですね。

セキュリティグループだけじゃない

ec2のファイアウォールとしてセキュリティグループで制御する方が多いかと思います。

セキュリティグループを使って、FTPを使用するIPアドレスのみを許可する、って流れですね。
また、FTPでパッシブを使うときは、セキュリティグループにてパッシブのポートも解放してあげる必要があります。

こんな感じ
SnapCrab_NoName_2016-4-25_23-4-43_No-00

で、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はこれで大丈夫です!!


お問い合わせ 採用情報 エンジニアブログ
ISO27001認証
Contact PageTop
株式会社ビヨンド

© beyond Co., Ltd. All rights reserved.