View a markdown version of this page

Transfert de fichiers via un terminal de serveur à l'aide d'un client - AWS Transfer Family

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Transfert de fichiers via un terminal de serveur à l'aide d'un client

Vous transférez des fichiers via le AWS Transfer Family service en spécifiant l'opération de transfert dans un client. AWS Transfer Family prend en charge les clients suivants :

  • Nous prenons en charge la version 3 du protocole SFTP.

  • OpenSSH (macOS et Linux)

    Note

    Ce client fonctionne uniquement avec les serveurs qui sont activés pour le protocole SFTP (Secure Shell) File Transfer Protocol (SSH).

  • WinSCP (Microsoft Windows uniquement)

  • Cyberduck (Windows, macOS et Linux)

  • FileZilla (Windows, macOS et Linux)

Les limites suivantes s'appliquent à tous les clients :

  • Le protocole SCP n'est pas pris en charge car il est considéré comme non sécurisé. Vous pouvez utiliser la scp commande OpenSSH comme décrit dans. Utilisation de la commande scp

  • Le nombre maximum de sessions SFTP simultanées et multiplexées par connexion est de 10.

  • Pour les connexions inactives, la valeur du délai d'attente est de 1800 secondes (30 minutes) pour tous les protocoles (SFTP/FTP/FTPS). S'il n'y a aucune activité après cette période, le client peut être déconnecté. Pour les connexions qui ne répondent pas :

    • Le SFTP a un délai d'attente de 300 secondes (5 minutes) lorsqu'un client ne répond pas du tout.

    • FTPS et FTP ont un délai d'attente d'environ 10 minutes sans réponse qui est géré par la bibliothèque sous-jacente.

  • Amazon S3 et Amazon EFS (en raison du protocole NFSv4) nécessitent que les noms de fichiers soient encodés. UTF-8 L'utilisation d'un encodage différent peut entraîner des résultats inattendus. Pour Amazon S3, consultez les instructions relatives à la dénomination des clés d'objet.

  • Pour le protocole de transfert de fichiers via SSL (FTPS), seul le mode explicite est pris en charge. Le mode implicite n'est pas pris en charge.

  • Pour le protocole FTP (File Transfer Protocol) et le FTPS, seul le mode passif est pris en charge.

  • Pour FTP et FTPS, seul le mode STREAM est pris en charge.

  • Pour FTP et FTPS, seul le Image/Binary mode est pris en charge.

  • Pour FTP et FTPS, TLS - PROT C (non protégé) Le TLS pour la connexion de données est la valeur par défaut mais PROT C n'est pas pris en charge dans le protocole FTPS. AWS Transfer Family Donc, pour FTPS, vous devez émettre PROT P pour que votre opération de données soit acceptée.

  • Si vous utilisez Amazon S3 pour le stockage de votre serveur et si votre client propose une option permettant d'utiliser plusieurs connexions pour un seul transfert, assurez-vous de désactiver cette option. Dans le cas contraire, le téléchargement de fichiers volumineux peut échouer de manière imprévisible. Notez que si vous utilisez Amazon EFS comme backend de stockage, EFS prend en charge plusieurs connexions pour un seul transfert.

Voici la liste des commandes disponibles pour FTP et FTPS :

Commandes disponibles

MAIN-D'OEUVRE

EXPLOIT

LE PLUS

PASSER

RETR

STOR

AUTH

LANG

MKD

PASV

RMD

STOU

CDUP

LIST

MODE

PBSZ

RNFR

STRU

MALADIE CWD

MDTM

NLST

PORT

RNTO

SYST

DELE

MFMT

NOOP

PWD

SIZE

TYPE

EPSV

MLSD

OPTE

SORTIR

STAT

USER

Note

APPE n'est pas pris en charge.

Pour le SFTP, les opérations suivantes ne sont actuellement pas prises en charge pour les utilisateurs qui utilisent le répertoire d'accueil logique sur des serveurs utilisant Amazon Elastic File System (Amazon EFS).

Commandes SFTP non prises en charge

LIEN SSH_FXP_READLINK

LIEN SYMBOLIQUE SSH_FXP_

SSH_FXP_STAT lorsque le fichier demandé est un lien symbolique

SSH_FXP_REALPATH lorsque le chemin demandé contient des composants de lien symbolique

Générer une paire de clés publique-privée

Avant de transférer un fichier, vous devez disposer d'une paire de clés publique-privée. Si vous n'avez pas encore généré de paire de clés, consultezGénérer des clés SSH pour les utilisateurs gérés par des services.

SFTP/FTPS/FTP Commandes disponibles

Le tableau suivant décrit les commandes disponibles pour AWS Transfer Family et pour les protocoles SFTP, FTPS et FTP.

Note

Le tableau mentionne les fichiers et les répertoires pour Amazon S3, qui ne prend en charge que les compartiments et les objets : il n'y a pas de hiérarchie. Cependant, vous pouvez utiliser des préfixes dans les noms de clés d'objet pour impliquer une hiérarchie et organiser vos données de la même manière que les dossiers. Ce comportement est décrit dans la section Utilisation des métadonnées d'objets du Guide de l'utilisateur d'Amazon Simple Storage Service.

SFTP/FTPS/FTP Commandes
Commande Amazon S3 Amazon EFS
cd Pris en charge Pris en charge
chgrp Non pris en charge Pris en charge (rootou owner uniquement)
chmod Non pris en charge Pris en charge (rootuniquement)
chmtime Non pris en charge Pris en charge
chown Non pris en charge Pris en charge (rootuniquement)
get Pris en charge Pris en charge (y compris la résolution de liens symboliques)
ln -s Non pris en charge Pris en charge
ls/dir Pris en charge Pris en charge
mkdir Pris en charge Pris en charge
put Pris en charge Pris en charge
pwd Pris en charge Pris en charge
rename Pris en charge pour les fichiers uniquement
Note

Le changement de nom qui remplacerait un fichier existant n'est pas pris en charge.

Pris en charge
Note

Le changement de nom qui remplacerait un fichier ou un répertoire existant n'est pas pris en charge.

rm Pris en charge Pris en charge
rmdir Pris en charge (répertoires vides uniquement) Pris en charge
version Pris en charge Pris en charge

Trouvez votre point de terminaison Amazon VPC

Si le type de point de terminaison de votre serveur Transfer Family est VPC, il n'est pas facile d'identifier le point de terminaison à utiliser pour transférer des fichiers. Dans ce cas, suivez la procédure suivante pour trouver votre point de terminaison Amazon VPC.

Pour trouver votre point de terminaison Amazon VPC
  1. Accédez à la page de détails de votre serveur.

  2. Dans le volet Détails du point de terminaison, sélectionnez le VPC.

    La page de détails du serveur de console Transfer Family, qui affiche les détails des points de terminaison d'un serveur VPC.
  3. Dans le tableau de bord Amazon VPC, sélectionnez l'ID du point de terminaison du VPC.

  4. Dans la liste des noms DNS, le point de terminaison de votre serveur est le premier répertorié.

    La page Endpoints de la console Amazon VPC, qui affiche les noms DNS d'un point de terminaison sélectionné.

Évitez les erreurs setstat

Certains clients de transfert de fichiers SFTP peuvent tenter de modifier les attributs des fichiers distants, notamment l'horodatage et les autorisations, à l'aide de commandes telles que SETSTAT lors du téléchargement du fichier. Cependant, ces commandes ne sont pas compatibles avec les systèmes de stockage d'objets, tels qu'Amazon S3. En raison de cette incompatibilité, les chargements de fichiers à partir de ces clients peuvent entraîner des erreurs, même si le fichier est correctement chargé.

  • Lorsque vous appelez l'UpdateServerAPI CreateServer or, utilisez l'ProtocolDetailsoption SetStatOption permettant d'ignorer l'erreur générée lorsque le client tente d'utiliser SETSTAT sur un fichier que vous chargez vers un compartiment S3.

  • Définissez la valeur sur ENABLE_NO_OP pour que le serveur Transfer Family ignore la commande SETSTAT et charge des fichiers sans avoir à apporter de modifications à votre client SFTP.

  • Notez que même si le SetStatOption ENABLE_NO_OP paramètre ignore l'erreur, il génère une entrée de journal dans CloudWatch Logs, afin que vous puissiez déterminer quand le client effectue un appel SETSTAT.

Pour les détails de l'API pour cette option, consultez ProtocolDetails.

Utiliser OpenSSH

Cette section contient des instructions pour transférer des fichiers depuis la ligne de commande à l'aide d'OpenSSH.

Note

Ce client fonctionne uniquement avec un SFTP-enabled serveur.

Utilisation d'OpenSSH

Pour transférer des fichiers AWS Transfer Family à l'aide de l'utilitaire de ligne de commande OpenSSH
  1. Sous Linux, macOS ou Windows, ouvrez un terminal de commande.

  2. À l'invite, entrez la commande suivante :

    sftp -i transfer-key sftp_user@service_endpoint

    Dans la commande précédente, sftp_user se trouve le nom d'utilisateur et transfer-key la clé privée SSH. service_endpointVoici le point de terminaison du serveur tel qu'indiqué dans la AWS Transfer Family console du serveur sélectionné.

    Note

    Cette commande utilise les paramètres figurant dans le ssh_config fichier par défaut. À moins que vous n'ayez modifié ce fichier au préalable, le SFTP utilise le port 22. Vous pouvez spécifier un port différent (par exemple 2222) en ajoutant un -P indicateur à la commande, comme suit.

    sftp -P 2222 -i transfer-key sftp_user@service_endpoint

    Sinon, si vous souhaitez toujours utiliser le port 2222 ou le port 22000, vous pouvez mettre à jour votre port par défaut dans votre ssh_config fichier.

    Une invite sftp doit s'afficher.

  3. (Facultatif) Pour afficher le répertoire personnel de l'utilisateur, entrez la commande suivante à l'sftpinvite :

    pwd

  4. Pour télécharger un fichier depuis votre système de fichiers vers le serveur Transfer Family, utilisez la put commande. Par exemple, pour le charger hello.txt (en supposant que ce fichier se trouve dans le répertoire actuel de votre système de fichiers), exécutez la commande suivante à l'sftpinvite suivante :

    put hello.txt

    Un message similaire au suivant s'affiche, indiquant que le transfert de fichiers est en cours ou terminé.

    Uploading hello.txt to /amzn-s3-demo-bucket/home/sftp_user/hello.txt

    hello.txt 100% 127 0.1KB/s 00:00

Note

Une fois votre serveur créé, quelques minutes peuvent être nécessaires pour que le nom d'hôte du point de terminaison du serveur puisse être résolu par le service DNS de votre environnement.

Utilisation de la commande scp

Transfer Family ne prend pas en charge le protocole SCP. Vous pouvez toutefois utiliser la scp commande OpenSSH si vous avez besoin de cette fonctionnalité.

Pour utiliser SCP sur SFTP, il est recommandé d'utiliser OpenSSH version 9.0 ou ultérieure. Dans OpenSSH version 9 et versions ultérieures, la scp commande utilise par défaut le protocole SFTP pour les transferts de fichiers au lieu de l'ancien protocole SCP.

Important

Assurez-vous que votre serveur Transfer Family a été configuré pour utiliser l'accès optimisé aux répertoires S3.

Utiliser WinSCP

Suivez les instructions ci-dessous pour transférer des fichiers depuis la ligne de commande en utilisant WinSCP.

Note

Si vous utilisez WinSCP 5.19, vous pouvez vous connecter directement à Amazon S3 à l'aide de vos informations d' AWS identification et de vos fichiers. upload/download Pour plus de détails, consultez la section Connexion au service Amazon S3.

Pour transférer des fichiers AWS Transfer Family en utilisant WinSCP
  1. Ouvrez le client WinSCP.

  2. Dans la boîte de dialogue Connexion, pour Protocole de fichier, choisissez un protocole : SFTP ou FTP.

    Si vous avez choisi FTP, pour le chiffrement, choisissez l'une des options suivantes :

    • Pas de cryptage pour FTP

    • TLS/SSL Chiffrement explicite pour FTPS

  3. Dans Nom d'hôte, entrez le point de terminaison de votre serveur. Le point de terminaison du serveur se trouve sur la page des détails du serveur. Pour de plus amples informations, veuillez consulter Afficher les détails des serveurs SFTP, FTPS et FTP.

    Si votre serveur utilise un point de terminaison VPC, consultezTrouvez votre point de terminaison Amazon VPC.

  4. Pour Numéro de port, entrez les informations suivantes :

    • 22pour SFTP

    • 21pour FTP/FTPS

  5. Dans Nom d'utilisateur, entrez le nom de l'utilisateur que vous avez créé pour votre fournisseur d'identité spécifique.

    Conseil : Le nom d'utilisateur doit être l'un des utilisateurs que vous avez créés ou configurés pour votre fournisseur d'identité. AWS Transfer Family fournit les fournisseurs d'identité suivants :

  6. Choisissez Avancé pour ouvrir la boîte de dialogue Paramètres avancés du site. Dans la section SSH, choisissez Authentification.

  7. Dans Fichier de clé privée, recherchez et choisissez le fichier de clé privée SSH dans votre système de fichiers.

    Si WinSCP propose de convertir votre clé privée SSH au format PPK, choisissez OK.

  8. Choisissez OK pour revenir à la boîte de dialogue Login, puis choisissez Sauver.

  9. Dans la boîte de dialogue Enregistrer la session en tant que site, choisissez OK pour terminer la configuration de votre connexion.

  10. Dans la boîte de dialogue de connexion, choisissez Outils, puis sélectionnez Préférences.

  11. Dans la boîte de dialogue Préférences, pour Transférer, choisissez Endurance.

    Pour l'option Activer le transfert resume/transfer vers un nom de fichier temporaire pour, choisissez Désactiver.

    Important

    Si vous laissez cette option activée, les coûts de téléchargement augmentent, ce qui réduit considérablement les performances de téléchargement. Cela peut également entraîner des échecs lors du téléchargement de fichiers volumineux.

  12. Pour Transférer, choisissez Arrière-plan, puis désactivez la case à cocher Utiliser plusieurs connexions pour un seul transfert.

    Conseil : Si vous laissez cette option sélectionnée, les chargements de fichiers volumineux peuvent échouer de manière imprévisible. Par exemple, des téléchargements partitionnés orphelins qui entraînent des frais Amazon S3 peuvent être créés. Une corruption silencieuse des données peut également se produire.

  13. Effectuez votre transfert de fichiers.

    Vous pouvez utiliser des méthodes de glisser-déposer pour copier des fichiers entre la fenêtre cible et la fenêtre source. Vous pouvez utiliser les icônes de la barre d'outils pour charger, télécharger, supprimer, modifier ou modifier les propriétés des fichiers dans WinSCP.

Note

Cette remarque ne s'applique pas si vous utilisez Amazon EFS pour le stockage.

Les commandes qui tentent de modifier les attributs des fichiers distants, y compris les horodatages, ne sont pas compatibles avec les systèmes de stockage d'objets tels qu'Amazon S3. Par conséquent, si vous utilisez Amazon S3 pour le stockage, veillez à désactiver les paramètres d'horodatage WinSCP (ou à les utiliser SetStatOption comme décrit dansÉvitez les erreurs setstat) avant d'effectuer des transferts de fichiers. Pour ce faire, dans la boîte de dialogue des paramètres de transfert WinSCP, désactivez l'option Définir les autorisations de téléchargement et l'option Conserver l'horodatage commun.

Utilisez Cyberduck

Suivez les instructions ci-dessous pour transférer des fichiers depuis la ligne de commande en utilisant Cyberduck.

Pour transférer des fichiers AWS Transfer Family en utilisant Cyberduck
  1. Ouvrez le client Cyberduck.

  2. Choisissez Open Connection.

  3. Dans la boîte de dialogue Ouvrir une connexion, choisissez un protocole : SFTP (SSH File Transfer Protocol), FTP-SSL (Explicit AUTH TLS) ou FTP (File Transfer Protocol).

  4. Pour Serveur, saisissez le point de terminaison de votre serveur. Le point de terminaison du serveur se trouve sur la page des détails du serveur. Pour de plus amples informations, veuillez consulter Afficher les détails des serveurs SFTP, FTPS et FTP.

    Si votre serveur utilise un point de terminaison VPC, consultezTrouvez votre point de terminaison Amazon VPC.

  5. Pour Numéro de port, entrez les informations suivantes :

    • 22pour SFTP

    • 21pour FTP/FTPS

  6. Dans Nom d'utilisateur, entrez le nom de l'utilisateur que vous avez créé dans Gestion des utilisateurs pour les points de terminaison des serveurs.

  7. Si SFTP est sélectionné, pour Clé privée SSH, choisissez ou entrez la clé privée SSH.

  8. Choisissez Se connecter.

  9. Effectuez votre transfert de fichiers.

    Selon l'emplacement de vos fichiers, effectuez l'une des actions suivantes :

    • Dans votre répertoire local (la source), choisissez les fichiers que vous souhaitez transférer, puis faites-les glisser et déposez-les dans le répertoire Amazon S3 (la cible).

    • Dans le répertoire Amazon S3 (la source), choisissez les fichiers que vous souhaitez transférer, puis faites-les glisser et déposez-les dans votre répertoire local (la cible).

Utiliser FileZilla

Suivez les instructions qui suivent pour transférer des fichiers à l'aide de FileZilla.

FileZilla Pour configurer un transfert de fichiers
  1. Ouvrez le FileZilla client.

  2. Choisissez Fichier, puis Gestionnaire de site.

  3. Dans la boîte de dialogue Gestionnaire de sites, choisissez Nouveau site.

  4. Dans l'onglet Général, dans Protocole, choisissez un protocole : SFTP ou FTP.

    Si vous avez choisi FTP, pour le chiffrement, choisissez l'une des options suivantes :

    • Utilisez uniquement le protocole FTP simple (non sécurisé) — pour le FTP

    • Utilisez le protocole FTP explicite sur TLS, si disponible, pour FTPS

  5. Dans le champ Nom d'hôte, entrez le protocole que vous utilisez, suivi du point de terminaison de votre serveur. Le point de terminaison du serveur se trouve sur la page des détails du serveur. Pour de plus amples informations, veuillez consulter Afficher les détails des serveurs SFTP, FTPS et FTP.

    • Si vous utilisez le protocole SFTP, saisissez : sftp://hostname

    • Si vous utilisez le protocole FTPS, saisissez : ftps://hostname

    Assurez-vous de le remplacer par le point hostname de terminaison de votre serveur actuel.

    Si votre serveur utilise un point de terminaison VPC, consultezTrouvez votre point de terminaison Amazon VPC.

  6. Pour Numéro de port, entrez les informations suivantes :

    • 22pour SFTP

    • 21pour FTP/FTPS

  7. Si SFTP est sélectionné, dans Type de connexion, choisissez Fichier clé.

    Pour Fichier clé, choisissez ou entrez la clé privée SSH.

  8. Dans le champ Utilisateur, entrez le nom de l'utilisateur que vous avez créé dansGestion des utilisateurs pour les points de terminaison des serveurs.

  9. Choisissez Se connecter.

  10. Effectuez votre transfert de fichiers.

    Note

    Si vous interrompez un transfert de fichier en cours, vous AWS Transfer Family risquez d'écrire un objet partiel dans votre compartiment Amazon S3. Si vous interrompez un téléchargement, vérifiez que la taille du fichier dans le compartiment Amazon S3 correspond à celle de l'objet source avant de continuer.

Utiliser un client Perl

Si vous utilisez le client NET::SFTP::Foreign Perl, vous devez définir la valeur queue_size à1. Par exemple :

my $sftp = Net::SFTP::Foreign->new('user@s-12345.server.transfer.us-east-2.amazonaws.com', queue_size => 1);

Note

Cette solution de contournement est nécessaire pour les révisions Net::SFTP::Foreign antérieures à la version https://metacpan.org/changes/release/SALVA/Net-SFTP-Foreign-1.93#L12 1.92.02.

Utiliser LFTP

LFTP est un client FTP gratuit qui permet aux utilisateurs d'effectuer des transferts de fichiers via l'interface de ligne de commande depuis la plupart des machines Linux.

Pour les téléchargements de fichiers volumineux, le LFTP présente un problème connu concernant les paquets hors service, ce qui entraîne l'échec du transfert de fichiers.

Traitement après le téléchargement

Vous pouvez consulter les informations de traitement après le chargement, y compris les métadonnées des objets Amazon S3 et les notifications d'événements.

Métadonnées des objets Amazon S3

Les métadonnées de votre objet contiennent une clé appelée x-amz-meta-user-agent dont la valeur est AWSTransfer et x-amz-meta-user-agent-id dont la valeur estusername@server-id. usernameIl s'agit de l'utilisateur de Transfer Family qui a chargé server-id le fichier et du serveur utilisé pour le téléchargement. Ces informations sont accessibles à l'aide de l'HeadObjectopération sur l'objet S3 dans votre fonction Lambda.

L'écran Métadonnées affiche des informations sur les métadonnées des objets Amazon S3 pour AWS Transfer Family.

Notifications d'événements Amazon S3

Lorsqu'un objet est chargé dans votre compartiment S3 à l'aide de Transfer Family, RoleSessionName il est contenu dans le champ Requérant de la structure de notification des événements S3 sous la forme[AWS:Role Unique Identifier]/username.sessionid@server-id. Par exemple, voici le contenu d'un exemple de champ Requérant d'un journal d'accès S3 pour un fichier qui a été copié dans le compartiment S3.

arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id

Dans le champ Demandeur ci-dessus, le rôle IAM appelé est indiqué. IamRoleName Pour plus d'informations sur la configuration des notifications d'événements S3, consultez la section Configuration des notifications d'événements Amazon S3 dans le manuel Amazon Simple Storage Service Developer Guide. Pour plus d'informations sur les identificateurs uniques des rôles Gestion des identités et des accès AWS (IAM), consultez la section Identifiants uniques dans le Guide de l'Gestion des identités et des accès AWS utilisateur.

Messages SFTP

Cette section décrit les messages côté client que vous pouvez recevoir pendant ou après vos transferts de fichiers SFTP lorsque vous utilisez un serveur Transfer Family. Pour plus d'informations sur tout événement SFTP, consultez les journaux de votre client SFTP. Vous pouvez utiliser ces informations pour résoudre d'éventuelles erreurs ou les transmettre à l'équipe de votre réseau pour qu'elle les aide à identifier le problème.

Messages SFTP côté client
Activité Description
AUTH_FAILURE L'utilisateur n'a pas réussi à s'authentifier. Il peut s'agir de tout type de défaillance de la part d'un fournisseur d'identité personnalisé ou d'un utilisateur géré par un service. Les détails de l'événement aident à clarifier la cause première de l'échec.
CLOSE Indique qu'un fichier ou un répertoire ouvert a été fermé correctement.
CONNECTED/DISCONNECTED Indique un succès de connexion normal et des déconnexions.
CREATE_SYMLINK Un lien symbolique a été créé (avec succès ou non).
DELETE Un fichier a été supprimé (avec succès ou non).
ERROR Une erreur générale et inattendue. La description associée contient des informations qui peuvent vous aider, vous ou vos administrateurs réseau, à identifier le problème spécifique.
RAISON_DE SORTIE Émis lorsqu'une erreur inattendue a provoqué l'arrêt de votre session SFTP. Le message associé à l'événement en décrit la cause.
MKDIR Un répertoire a été créé (avec succès ou sans succès).
OPEN Un fichier a été ouvert en lecture ou en écriture (avec succès ou échec)
FERME_PARTIELLE Le client s'est déconnecté du serveur alors qu'un fichier était toujours ouvert et aucun message CLOSE n'a été reçu. Transfer Family stocke la partie reçue du fichier (qui pourrait en fait être le fichier complet) et émet l'événement PARTIAL_CLOSE pour avertir le client du problème. L'intégration des flux de travail reçoit également un onPartialClose événement pour gérer le fichier de manière appropriée.
RENAME Un fichier a été renommé (avec succès ou sans succès)
RMDIR Un répertoire a été supprimé (avec succès ou sans succès)
SETSTAT

Les attributs d'un fichier sont modifiés (avec succès ou non).

Note

Transfer Family ne prend pas en charge SETSTAT si vous utilisez Amazon S3 pour le stockage. La Évitez les erreurs setstat section explique comment éviter les SetStat erreurs en désactivant le paramètre. Cela vous évite de recevoir un message fail unsupported error : au lieu de cela, vous recevez success but do nothing un message.

TLS_RESUME_FAILURE Le serveur est configuré pour appliquer la reprise de session TLS et le client ne la prend pas en charge.