Amazon EC2で検証のためパスワード認証のSFTPサーバーを作ってみた
こんにちは。AWS初心者のスズです。
先日、Alteryxとの検証用にSFTPサーバーを用意したいと考えていたところ、Amazon EC2で簡単に作れるよということを社内で教えていただきました。教えていただいた内容やWebサイトを参考にしてAmazon EC2でパスワード認証のSFTPサーバーを構築してみましたので、その手順を記事に残しておきたいと思います。
本記事で作成したSFTPサーバーは、検証のために用意したものとなります。セキュリティについては考慮されておりませんので、本記事と同様の環境の利用は非推奨となります。予めご了承ください。
注: キーペア認証を使用せずにパスワードベースのログインを使用する場合、セキュリティに影響を及ぼす可能性があります。したがって、パスワードベースのログインはお勧めしません。また、インスタンスに関連付けられたセキュリティグループルールのソース IP アドレスの数を最小限にして SSH 攻撃を防止することがベストプラクティスです。
EC2 インスタンスに接続するためのパスワードログインを有効にする
※パスワード認証を許可したEC2はハイリスクであるため、注意書きを追加しました。
パスワード認証のSFTPサーバーの構築
Amazon EC2でLinuxの構築
新しくインスタンスを作成します。検証用ということで、必要最小限の構成で用意しました。
- AMI: Amazon Linux 2 AMI (HVM), SSD Volume Type
- InstanceType: t2.micro
- vCPU: 1
- RAMメモリ: 1 GiB
- ストレージサイズ: 8 GiB
- セキュリティグループ(インバウンド): SSH(TCP 22)、特定のIPアドレスのみ許可
LinuxにSFTP用のユーザーを作成
Linuxが起動したあとは、SFTP用のユーザーを作成していきます。
Tera Termを使用して、SSHでLinuxに接続します。ユーザー名はec2-user、秘密鍵として作成したキーペアを選択します。
ログイン後、新しくユーザーを作成し、パスワードを設定します。今回は分かりやすくsftpuser
という名前で作成しています。
$ sudo useradd sftpuser $ sudo passwd sftpuser Changing password for user sftpuser. New password: Retype new password: passwd: all authentication tokens updated successfully.
パスワード認証の許可
/etc/ssh/sshd_config
を参照すると、PasswordAuthentication no
と設定されており、パスワード認証が許可されていません。パスワード認証を許可するため、PasswordAuthentication no
をPasswordAuthentication yes
に変更します。
$ sudo vi /etc/ssh/sshd_config PasswordAuthentication yes
設定の変更を反映させるため、sshd
を再起動します。
$ sudo systemctl restart sshd
SFTPの接続の確認
WinSCPを使用して、SFTPの接続を確認します。
ファイルのアップロードなどを確認して完了です。
最後に
今回はAmazon EC2でのパスワード認証のSFTPサーバーの構築についてご紹介しました。