AWS で FTP/SFTP を設定するにはどうすればいいですか

AWS で FTP/SFTP を設定するにはどうすればいいですか

インターネット経由でクライアントとファイルを共有したいので、AWS の FTP ソリューションを検討しています。AWS SFTP を試してみましたが、ロール ポリシーの設定が面倒で、基本的な使用例ではサービスが少しコストがかかりそうです。AWS 以外のユーザーがアクセスできる FTP サーバーを EC2 または S3 上にセットアップする別の方法はありますか。異なるサブディレクトリに対して異なるユーザーに読み取り権限を追加したいと考えています。私は MacOSX を使用しています。

私は以下の指示に従ってみましたhttps://stackoverflow.com/questions/7052875/amazon-cloud-server での ftp の設定しかし、AWS 以外のユーザーにファイルを表示する権限を与える方法が明確ではなく、vsftpd を動作させることができませんでした。

非 AWS ユーザーとファイルを共有するための推奨/標準の AWS 設定はありますか。できれば安全 (sftp) に共有してください。毎日、数百人のユーザーと 1 日に数回、更新されたファイルを共有する予定です。

答え1

AWS Transfer for SFTP を使用しない場合は、EC2 インスタンスから直接 SFTP サーバーをセットアップすることも可能です。

これらの手順に正しく従えば、SFTPユーザーを簡単に作成できるはずです。私の場合は、Ubuntu 18.04のマイクロT2インスタンスを使用しました。

  1. インストールしてみましょうopenSSH
sudo apt-get install openssh-server
  1. ユーザーを監禁する特定のグループを作成する必要があります。
sudo groupadd sftpusers
  1. /etc/ssh/sshd_configvimまたはnanoを使用して編集します
    。コメントアウトします。#Subsystem sftp /usr/lib/openssh/sftp-server
    代わりに、Subsystem sftp internal-sftpサーバーへのSFTP接続を許可するように追加します
    。最後に、ファイルの最後に新しいグループ構成を指定します。
Match group sftpusers
        ChrootDirectory %h
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp
        PasswordAuthentication yes
  1. この時点で、次/etc/ssh/sshd_configのようになります。
(...)

#Subsystem sftp /usr/lib/openssh/sftp-server

(...)

Subsystem sftp internal-sftp

Match group sftpusers
        ChrootDirectory %h
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp
        PasswordAuthentication yes
  1. 変更を適用するには、ssh サービスを再起動する必要があります。
sudo service ssh restart
  1. これで、新しいユーザーを作成する準備が整いました。
    以下のコマンドのさまざまな指示に従って、ユーザーのパスワードを入力します。
sudo adduser user1
  1. 先ほど作成した sftp グループに新しいユーザーを追加しましょう。
sudo usermod -g sftpusers user1
sudo usermod -s /bin/nologin user1
  1. この時点で、最後に必要なことは、ユーザーを/home/<user>ディレクトリ内に閉じ込めることです。
sudo chown root:user1 /home/user1
sudo chmod 755 /home/user1

ユーザに属する新しいフォルダを作成するには、

sudo mkdir /home/user1/new_folder
sudo chown user1:user1 /home/user1/new_folder
sudo chmod 755 /home/user1/new_folder

わたしは作ったこれ数日前にこのプロセスを自動化するリポジトリ

関連情報