Как настроить ftp/sftp на aws

Как настроить ftp/sftp на aws

Я хочу поделиться файлами с клиентом через Интернет и ищу решения FTP на AWS. Я пробовал AWS SFTP, но настройка политик ролей неудобна, а сервис кажется немного дорогим для моего основного варианта использования. Есть ли альтернативный способ настроить FTP-сервер на EC2 или S3, к которому смогут получить доступ пользователи, не являющиеся пользователями AWS? Я хочу добавить разрешения на чтение для разных пользователей для разных подкаталогов. Я использую macosx.

Я попробовал следовать инструкциям наhttps://stackoverflow.com/questions/7052875/setting-up-ftp-on-amazon-cloud-serverно не ясно, как разрешить пользователям, не являющимся пользователями aws, просматривать мои файлы, и я не смог заставить работать vsftpd.

Есть ли рекомендуемая/стандартная настройка aws для обмена файлами с пользователями, не являющимися пользователями aws, желательно безопасно (sftp). Я бы делился обновленными файлами несколько раз в день каждый день с сотнями пользователей.

решение1

Если вы не хотите использовать AWS Transfer для SFTP, можно настроить сервер SFTP непосредственно из экземпляра EC2.

Если вы правильно выполните эти инструкции, вы сможете довольно легко создать своих пользователей SFTP. В моем конкретном случае я использовал экземпляр micro T2 с Ubuntu 18.04

  1. Давайте установимopenSSH
sudo apt-get install openssh-server
  1. Вам необходимо создать определенную группу, в которую вы будете помещать пользователей.
sudo groupadd sftpusers
  1. Редактировать /etc/ssh/sshd_configс помощью vim или 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

я создалэтотрепозиторий несколько дней назад, который автоматизировал этот процесс

Связанный контент