AWSのEC2でftp接続する方法

EC2でftp接続する方法

EC2でプログラムを作る時、やはり使い慣れたftpで組んでいきたい。
EC2にftpサーバを立ち上げて、クライアンと接続してみる。

1,vsftpdのインストール
sudo su
yum install vsftpd -y

2,接続IPを調べる
SSH端末に入って
curl http://169.254.169.254/latest/meta-data/public-ipv4

参考
https://qiita.com/Yuki_BB3/items/deeb84c360c6f3c37f51

3,設定ファイルの変更(/etc/vsftpd/vsftpd.conf)
一応、原本を保存
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

sudo vim /etc/vsftpd/vsftpd.conf
はじめから新規に作っていいのだが、
一度、全て消してみる
(dは行削除)

d10 ENTER
d10 ENTER
d10 ENTER

挿入モード i
以下をコピペ(端末なのでShift+Ctr+Vで貼り付ける)

(ElasticIPで登録したIPアドレス)
の部分は、3で調べたIPを設定

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=NO
xferlog_enable=YES
connect_from_port_20=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO
ascii_upload_enable=YES
ascii_download_enable=YES
ls_recurse_enable=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_enable=YES
pasv_addr_resolve=YES
pasv_address=(ElasticIPで登録したIPアドレス)
pasv_min_port=60001
pasv_max_port=60010
use_localtime=YES
force_dot_files=YES
seccomp_sandbox=NO
allow_writeable_chroot=YES

貼り付けたら
ESC :wq
で、保存してvimを終了
参考

AWS + EC2 + vsftpd でハマる

4,ポートの設定
Amazonのダッシュ-ボードから、セキュリティーグループで追加
21,22,60000-6010

5,サービス起動
vsftを起動(一度止めてから起動)
sudo systemctl stop vsftpd
sudo systemctl start vsftpd

6,接続用アカウントにパスワード設定
sudo passwd ec2-user
パスワード設定

参考
https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-password-login/

7,ftpクライアントからの接続
ftp (ElasticIPで登録したIPアドレス)または、DNS xxxx__us-east-2.compute.amazonaws.com
ec2-user
パスワード

8,接続完了
IPが変わったら、再度
/etc/vsftpd/vsftpd.conf
の変更と
サービス再起動が必要です。
IP固定でない場合は、インスタンスを停止、起動すると、新しいIPになります。