【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

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側でも設定してあげます。
パッシブを使う、パッシブに使うポートの設定です。

1
2
3
4
# 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です。
こんな感じ。

1
2
# vim /etc/vsftpd/vsftpd.conf
pasv_address=<パブリックIP>

FTPはこれで大丈夫です!!

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
2
読み込み中...
2 票, 平均: 1.00 / 12
13,722
X facebook はてなブックマーク pocket
【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

この記事をかいた人

About the author