Wie richte ich ftp/sftp auf aws ein

Ich möchte Dateien mit einem Client über das Internet teilen und suche FTP-Lösungen auf aws. Ich habe aws sftp ausprobiert, aber das Festlegen von Rollenrichtlinien ist umständlich und der Dienst scheint für meinen grundlegenden Anwendungsfall etwas kostspielig zu sein. Gibt es eine alternative Möglichkeit, einen FTP-Server auf EC2 oder S3 einzurichten, auf den Nicht-aws-Benutzer zugreifen können? Ich möchte Leseberechtigungen für verschiedene Benutzer für verschiedene Unterverzeichnisse hinzufügen. Ich benutze Macosx.

Ich habe versucht, den Anweisungen zu folgen https://stackoverflow.com/questions/7052875/setting-up-ftp-on-amazon-cloud-server aber es ist nicht klar, wie ich Nicht-aws-Benutzern erlauben kann, meine Dateien zu sehen, und vsftpd konnte nicht funktionieren.

Gibt es ein empfohlenes / Standard-aws-Setup für die gemeinsame Nutzung von Dateien mit Nicht-aws-Benutzern, vorzugsweise sicher (sftp)? Ich würde aktualisierte Dateien täglich ein paar Mal mit Hunderten von Benutzern teilen.

Author: Martin Prikryl, 2019-03-25

1 answers

Wenn Sie AWS Transfer nicht für SFTP verwenden möchten, können Sie Ihren SFTP-Server direkt von einer EC2-Instanz aus einrichten.

Wenn Sie diese Anweisungen richtig befolgen, sollten Sie Ihre SFTP-Benutzer ganz einfach erstellen können. In meinem speziellen Fall habe ich eine Micro T2-Instanz mit Ubuntu 18.04

  1. Installieren wir openSSH
sudo apt-get install openssh-server
  1. Sie müssen eine bestimmte Gruppe erstellen, in der Sie die Benutzer speichern.
sudo groupadd sftpusers
  1. Bearbeiten /etc/ssh/sshd_config mit vim oder nano -
    Kommentieren Sie #Subsystem sftp /usr/lib/openssh/sftp-server
    Fügen Sie stattdessen Subsystem sftp internal-sftp hinzu, um SFTP-Verbindungen zu Ihrem Server zuzulassen
    Zuletzt geben Sie am Ende der Datei die neuen Gruppenkonfigurationen
Match group sftpusers
        ChrootDirectory %h
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp
        PasswordAuthentication yes
  1. An dieser Stelle sollte Ihr /etc/ssh/sshd_config aussehen wie:
(...)

#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. Sie müssen den SSH-Dienst neu starten, um die Änderungen anzuwenden.
sudo service ssh restart
  1. Jetzt sollten Sie eingerichtet werden, um einen neuen Benutzer zu erstellen.
    Folgen Sie den verschiedenen Anweisungen des befehl unten und geben Sie das Benutzerkennwort ein.
sudo adduser user1
  1. Fügen wir unseren neuen Benutzer der zuvor erstellten sftp-Gruppe hinzu.
sudo usermod -g sftpusers user1
sudo usermod -s /bin/nologin user1
  1. An dieser Stelle müssen wir als letztes unseren Benutzer im Verzeichnis /home/<user> speichern.
sudo chown root:user1 /home/user1
sudo chmod 755 /home/user1

Mit{[16] können Sie neue Ordner erstellen, die dem Benutzer gehören]}

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

Ich habe vor einigen Tagen dieses Repo erstellt, das diesen Prozess automatisiert

 5
Author: smallwat3r,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-04-23 10:46:20