Comment créer un serveur compatible avec SFTP sur AWS

AWS Transfer Family prend en charge le protocole de transfert de fichiers sécurisé (SFTP), le protocole de transfert de fichiers sur SSL (FTPS) et le protocole de transfert de fichiers (FTP) pour transférer des fichiers vers et depuis AWS S3 ou AWS EFS(Elastic File System).Il prend en charge le routage DNS avec Amazon Route 53. AWS Transfer Family supprime les frais généraux liés à l’achat et à l’exploitation de tes propres serveurs FTP, au lieu de cela, il gère l’infrastructure de fichiers pour toi. Elle prend en charge la capacité d’auto-échelonnement et maintient la haute disponibilité.

AWS Transfer Family est un service entièrement géré par AWS qui évolue en temps réel, et tu n’as pas besoin de créer

Comprenons 3 protocoles différents pris en charge par AWS Transfer Family.

  1. Protocole SFTP: Le protocole de transfert de fichiers Secure Shell est un protocole réseau utilisé pour le transfert sécurisé de données sur Internet. Le protocole prend en charge l’ensemble des fonctionnalités de sécurité et d’authentification de SSH
  2. Protocole FTP: Le protocole de transfert de fichiers (FTP) est un protocole réseau utilisé pour le transfert de données. FTP utilise un canal distinct pour les transferts de contrôle et de données.
  3. Protocole FTPS: Le protocole de transfert de fichiers sur SSL est une extension de FTP. Il utilise les protocoles cryptographiques Transport Layer Security et Secure Sockets Layer pour crypter le trafic.

Tu peux créer un serveur accessible au public ou créer un serveur dans le VPC.

Tu peux aussi contrôler l’accès au serveur à l’aide des politiques AWS Identity and Access Management (IAM), ces politiques peuvent être attribuées à un rôle IAM qui est ensuite rattaché à l’utilisateur.

Il n’y a pas de coûts initiaux et tu dois payer uniquement pour ce que tu utilises et les protocoles que tu as activés pour l’accès à ton terminal. Pour connaître ses tarifs, visite la page officielle d’AWS ici.

Dans cet article, nous allons voir les étapes pour créer un serveur compatible SFTP sur AWS qui sera accessible publiquement. Avant de poursuivre cet article, il est supposé que tu connais les rôles IAM, les instances EC2 et les Buckets S3.

Pré-requis

  1. Compte AWS (Crée-le si tu n’en as pas).
  2. Instance Ubuntu EC2 (clique ici pour apprendre à créer une instance Ubuntu EC2 sur AWS).
  3. Rôle IAM avec accès complet à S3 (Cliqueici pour apprendre à créer un rôle IAM).
  4. Seau S3 (Clique ici pour apprendre à créer un seau S3 sur AWS).

Que ferons-nous ?

  1. Connecte-toi à AWS
  2. Créer un serveur SFTP
  3. Modifier les relations de confiance de la politique IAM
  4. Crée un dossier dans le seau S3.
  5. Génère une paire de clés dans l’instance EC2.
  6. Crée un utilisateur dans le serveur SFTP
  7. Teste la connexion au serveur SFTP
  8. Supprime le serveur SFTP

Connecte-toi à AWS

Clique ici pour accéder à la page de connexion où tu peux entrer tes informations d’identification pour accéder à ton compte.

Page de connexion

Une fois que tu t’es connecté avec succès à ton compte, tu verras la console de gestion principale d’AWS comme suit et tu pourras choisir la région souhaitée pour créer un serveur SFTP.

AWS Management Console

Créer un serveur SFTP

Cherche « Famille de transfert » dans le champ de recherche en haut de l’écran.

Recherche Transfer Family

Tu verras le tableau de bord principal de l’AWS Transfer Family comme suit. Clique sur le bouton « Créer un serveur » pour créer ton premier serveur SFTP.

Tableau de bord des familles de transfert AWS

Ici, choisis le protocole que tu veux activer pour le serveur. Tu peux activer plusieurs protocoles, mais ici nous allons procéder avec un seul protocole SFTP. Clique sur le bouton « Suivant » pour continuer.

Choisir un Protocole

Choisis le type de point d’extrémité en fonction de tes besoins. Si tu veux que ton point de terminaison soit accessible publiquement, continue. Clique sur le bouton « Suivant ».

Configuration des points d'extrémité

Choisis le service de stockage AWS où tu veux que tes données soient stockées. Ici, nous allons procéder avec Amazon S3. Clique sur le bouton « Suivant » pour continuer.

Choisis un domaine

Procède avec les options par défaut ici.

Rôle de connexion

Vérifie la configuration et clique sur le bouton « Créer le serveur ». Cela va créer un serveur SFTP pour toi, le processus de création prendra quelques minutes pour se terminer.

Examine et crée un serveur

Modifier les relations de confiance de la politique IAM

L’étape suivante consiste à modifier la politique IAM qui a un accès complet aux buckets S3. Va dans le « rôle IAM — > Relations de confiance » et modifie-le.

Rôle IAM pour SFTP

Change le Service en « transfer.amazonaws.com », le document de politique doit ressembler à ceci.

Editer la relation de confiance

Crée un dossier dans le seau S3.

Vois si tu as un seau S3 où tu souhaites stocker les données du serveur SFTP.

Crée un dossier dans le seau S3

Génère une paire de clés dans l’instance EC2.

L’étape suivante consiste à créer une paire de clés qui sera utilisée pour s’authentifier auprès du serveur SFTP. Va sur ton serveur Linux et exécute la commande suivante pour générer une paire de clés

ssh-keygen

cat ~/.ssh/id_rsa.pub

Récupère la clé publique qui sera nécessaire à l’étape suivante.

Génère une paire de clés

Crée un utilisateur dans le serveur SFTP

Allons dans le SFTP que nous avons créé.

SFTP Server

Clique sur le bouton « Ajouter un utilisateur » pour créer un utilisateur qui sera utilisé pour s’authentifier et transférer des fichiers vers S3 à l’aide du serveur SFTP que nous avons créé.

Ici, le point de terminaison que tu vois sera utilisé pour accéder au serveur SFTP pour le transfert de données. Garde avec toi ce point de terminaison qui sera nécessaire pour accéder au serveur SFTP.

Ajoute un nom d’utilisateur, choisis le rôle IAM, sélectionne le seau S3 et un dossier à l’intérieur qui servira de répertoire personnel à l’utilisateur que nous créons. Ajoute la clé publique que nous avons copiée à l’étape précédente dans la partie « Clé publique SSH ».

Fais défiler la page et clique sur le bouton « Ajouter ». Cela créera un utilisateur qui aura besoin d’une clé privée associée à la clé publique que nous avons ajoutée lors de la création de l’utilisateur.

Ajouter l'utilisateur

Teste la connexion au serveur SFTPTeste la connexion au serveur SFTP

Va sur le serveur Linux où tu as créé la paire de clés et utilise la commande suivante pour te connecter au serveur SFTP.

Ici, tu dois modifier le point de terminaison avec ce que tu as pour ton serveur SFTP.

sftp -i ~/.ssh/id_rsa [email protected]azonaws.com

Tu peux essayer de télécharger des fichiers à l’aide de la commande suivante, où le fichier utilisé dans la commande suivante appartient au système local.

put /home/ubuntu/test-file

La commande ci-dessus copiera le fichier « /home/ubuntu/test-file » du système local vers le serveur SFTP.

Télécharger un fichier

Tu peux vérifier depuis la console si le fichier a été téléchargé ou non dans le seau S3 à l’aide de la commande « put » ci-dessus.

Vérifie le seau S3

Supprimer le serveur SFTP

Lorsque tu n’as plus besoin de ton serveur SFTP, tu peux facilement le supprimer. Pour supprimer le serveur, clique sur « Actions –> Supprimer ».

Confirme ton action de suppression et clique sur le bouton « Supprimer ». Une fois que tu as supprimé le serveur SFTP, tu ne peux plus le restaurer, alors fais attention lorsque tu effectues l’opération de suppression.

Confirmation de la suppression

Conclusion

Dans cet article, nous avons vu les étapes pour créer un serveur SFTP avec S3 comme backend. Nous avons créé un utilisateur et lui avons attribué un dossier S3 bucket –> particulier comme répertoire d’accueil. Nous avons vu les modifications nécessaires pour que le rôle IAM soit utilisé pour l’utilisateur.

Vous aimerez aussi...