1 votes

Comment configurer ftp/sftp sur aws ?

Je souhaite partager des fichiers avec un client via internet et je recherche des solutions ftp sur aws. J'ai essayé aws sftp, mais la mise en place de politiques de rôle est maladroite et le service semble un peu coûteux pour mon cas d'utilisation de base. J'ai essayé sftp d'aws, mais la définition des règles de rôle est maladroite et le service semble un peu coûteux pour mon cas d'utilisation de base. Je veux ajouter des permissions de lecture pour différents utilisateurs pour différents sous-répertoires. J'utilise macosx.

J'ai essayé de suivre les instructions sur https://stackoverflow.com/questions/7052875/setting-up-ftp-on-amazon-cloud-server mais il n'est pas clair comment je peux autoriser les utilisateurs non-aws à voir mes fichiers et je n'ai pas réussi à faire fonctionner vsftpd.

Est-ce qu'il y a une configuration aws recommandée/standard pour partager des fichiers avec des utilisateurs non aws, de préférence de manière sécurisée (sftp). Je vais partager des fichiers mis à jour plusieurs fois par jour, tous les jours, avec des centaines d'utilisateurs.

7voto

smallwat3r Points 233

Si vous ne souhaitez pas utiliser AWS Transfer pour SFTP, il est possible de configurer votre serveur SFTP directement à partir d'une instance EC2.

Si vous suivez correctement ces instructions, vous devriez pouvoir créer vos utilisateurs SFTP assez facilement. Dans mon cas spécifique, j'ai utilisé une instance micro T2 avec Ubuntu 18.04.

  1. Installons openSSH

    sudo apt-get install openssh-server

  2. Vous devez créer un groupe spécifique dans lequel vous emprisonnerez les utilisateurs.

    sudo groupadd sftpusers

  3. Editar /etc/ssh/sshd_config en utilisant vim ou nano
    Commentaire #Subsystem sftp /usr/lib/openssh/sftp-server
    Au lieu de cela, ajoutez Subsystem sftp internal-sftp pour autoriser les connexions SFTP sur votre serveur
    Enfin, à la fin du fichier, spécifiez les nouvelles configurations du groupe

    Match group sftpusers ChrootDirectory %h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp PasswordAuthentication yes

  4. À ce stade, votre /etc/ssh/sshd_config devrait ressembler à ceci :

    (...)

    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

  5. Vous devez redémarrer le service ssh pour appliquer les modifications.

    sudo service ssh restart

  6. Vous devriez maintenant être en mesure de créer un nouvel utilisateur.
    Suivez les différentes instructions de la commande ci-dessous et saisissez le mot de passe de l'utilisateur.

    sudo adduser user1

  7. Ajoutons notre nouvel utilisateur au groupe sftp que nous avons créé plus tôt.

    sudo usermod -g sftpusers user1 sudo usermod -s /bin/nologin user1

  8. À ce stade, la dernière chose à faire est d'emprisonner notre utilisateur à l'intérieur du fichier /home/<user> répertoire.

    sudo chown root:user1 /home/user1 sudo chmod 755 /home/user1

Vous pouvez créer de nouveaux dossiers qui appartiennent à l'utilisateur à l'aide de

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

J'ai créé este il y a quelques jours qui automatise ce processus

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X