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.
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
- Installieren wir
openSSH
sudo apt-get install openssh-server
- Sie müssen eine bestimmte Gruppe erstellen, in der Sie die Benutzer speichern.
sudo groupadd sftpusers
- Bearbeiten
/etc/ssh/sshd_config
mit vim oder nano -
Kommentieren Sie#Subsystem sftp /usr/lib/openssh/sftp-server
Fügen Sie stattdessenSubsystem 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
- 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
- Sie müssen den SSH-Dienst neu starten, um die Änderungen anzuwenden.
sudo service ssh restart
- 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
- Fügen wir unseren neuen Benutzer der zuvor erstellten sftp-Gruppe hinzu.
sudo usermod -g sftpusers user1
sudo usermod -s /bin/nologin user1
- 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
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