Jaminto a fait un excellent travail de répondre à la question, mais je suis récemment allé à travers le processus de moi et a voulu étendre sur Jaminto de réponse.
Je suis en supposant que vous avez déjà une instance EC2 créés et ont associé une Adresse IP Élastique.
Étape #1: Installer vsftpd
SSH à votre EC2 serveur. Type:
> sudo yum install vsftpd
Cela devrait installer vsftpd.
Étape #2: Ouvrir les ports FTP sur votre instance EC2
Ensuite, vous aurez besoin d'ouvrir les ports FTP sur votre EC2 serveur. Connectez-vous à AWS EC2 de la Console de Gestion et sélectionnez les Groupes de Sécurité à partir de l'arborescence sur la gauche. Sélectionnez le groupe de sécurité attribué à votre instance EC2. Sélectionnez l'onglet entrée et ajouter de la plage de ports 20-21:
Également ajouter de la plage de port 1024-1048:
Étape #3: mettre à jour le vsftpd.fichier conf
Modifier votre vsftpd conf fichier en tapant:
> sudo vi /etc/vsftpd/vsftpd.conf
Désactiver le FTP anonyme en changeant cette ligne:
anonymous_enable=YES
pour
anonymous_enable=NO
Ensuite, ajoutez les lignes suivantes à la partie inférieure de la vsftpd.fichier conf:
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_address=<Public IP of your instance>
Votre vsftpd.conf fichier devrait ressembler à celui-ci - sauf assurez-vous de remplacer le pasv_address avec votre public en face de l'adresse IP:
Pour enregistrer les modifications, appuyez sur echap, puis tapez :wq
, puis appuyez sur entrée.
Étape #4: Redémarrage de vsftpd
Redémarrez vsftpd en tapant:
> sudo /etc/init.d/vsftpd restart
Vous devriez voir un message qui ressemble à:
Étape #5: Créer un utilisateur FTP
Si vous prenez un coup d'oeil à /etc/vsftpd/user_list, vous verrez suivantes:
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
C'est essentiellement à dire, "Ne pas permettre à ces utilisateurs un accès FTP." vsftpd permettra l'accès FTP à n'importe quel utilisateur pas sur cette liste.
Alors, afin de créer un nouveau compte FTP, vous pouvez avoir besoin de créer un nouvel utilisateur sur votre serveur. (Ou, si vous disposez déjà d'un compte d'utilisateur qui n'est pas listé dans /etc/vsftpd/user_list, vous pouvez passer à l'étape suivante.)
La création d'un nouvel utilisateur sur une instance EC2 est assez simple. Par exemple, pour créer l'utilisateur "bret", tapez:
> sudo adduser bret
> sudo passwd bret
Voici à quoi ça ressemblera:
Étape #6: Restriction des utilisateurs à leur répertoire home
À ce stade, votre FTP utilisateurs ne sont pas limités à leur répertoire home. Ce n'est pas très sécurisé, mais nous pouvons résoudre assez facilement.
Modifier votre vsftpd fichier conf de nouveau en tapant:
> sudo vi /etc/vsftpd/vsftpd.conf
Dé-commentez la ligne suivante:
chroot_local_user=YES
Il devrait ressembler à ceci une fois que vous avez terminé:
Redémarrez le serveur vsftpd de nouveau de la sorte:
> sudo /etc/init.d/vsftpd restart
Tout fait!
Annexe A: Survivre à un redémarrage
vsftpd ne démarre pas automatiquement lorsque le serveur démarre. Si vous êtes comme moi, cela signifie que, après le redémarrage de votre instance EC2, vous profiterez d'un moment de terreur lorsque le protocole FTP semble être cassé, mais en réalité, c'est juste pas de course!. Voici une façon commode de le corriger:
> sudo chkconfig --level 345 vsftpd on
Alternativement, si vous utilisez redhat, une autre manière de gérer vos services est par l'utilisation de cette chouette interface utilisateur graphique pour le contrôle des services qui devraient démarrer automatiquement:
> sudo ntsysv
Maintenant vsftpd démarrera automatiquement lorsque votre serveur démarre.