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 point de terminaison 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 de transfert de fichiers (SFTP) Secure Shell (SSH).
-
WinSCP (Microsoft Windows uniquement)
-
Cyberduck (Windows, macOS et Linux)
-
FileZilla (Windows, macOS et Linux)
Les restrictions 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 commande
scpOpenSSH comme décrit dans. Utilisation de la commande scp -
Le nombre maximum de sessions SFTP multiplexées simultanées par connexion est de 10.
-
Pour les connexions inactives, le délai d'expiration 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 protocole SFTP a un délai d'expiration de 300 secondes (5 minutes) lorsqu'un client ne répond pas du tout.
-
Les protocoles FTPS et FTP ont un délai d'attente d'environ 10 minutes qui est géré par la bibliothèque sous-jacente.
-
-
Amazon S3 et Amazon EFS (en raison du NFSv4 protocole) nécessitent que les noms de fichiers soient encodés en UTF-8. L'utilisation d'un encodage différent peut entraîner des résultats inattendus. Pour Amazon S3, consultez les directives de 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 de transfert de fichiers (FTP) et le FTPS, seul le mode passif est pris en charge.
-
Pour les protocoles FTP et FTPS, seul le mode STREAM est pris en charge.
-
Pour les protocoles FTP et FTPS, seul le Image/Binary mode est pris en charge.
-
Pour le FTP et le FTPS, le protocole TLS - PROT C (non protégé) est le protocole TLS par défaut pour la connexion aux données, mais le protocole FTPS ne prend pas en charge le protocole PROT C. AWS Transfer Family Donc, pour FTPS, vous devez émettre un 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 contient une option permettant d'utiliser plusieurs connexions pour un seul transfert, assurez-vous de désactiver cette option. Dans le cas contraire, les téléchargements de fichiers volumineux peuvent é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 une liste des commandes disponibles pour FTP et FTPS :
| Commandes disponibles | |||||
|---|---|---|---|---|---|
LABOR |
EXPLOIT |
LE PLUS |
PASSER |
RETR |
TEMPÊTE |
AUTH |
LANG |
MKD |
PASV |
RMD |
STOU |
CDUP |
LIST |
MODE |
PBSZ |
RNFR |
STRU |
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 de base logique sur des serveurs utilisant Amazon Elastic File System (Amazon EFS).
| Commandes SFTP non prises en charge | |||
|---|---|---|---|
SSH_FXP_READLINK |
SSH_FXP_SYMLINK |
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ération de clés SSH pour les utilisateurs gérés par des services.
Rubriques
SFTP/FTPS/FTPCommandes disponibles
Le tableau suivant décrit les commandes disponibles pour AWS Transfer Family, pour les protocoles SFTP, FTPS et FTP.
Note
Le tableau mentionne les fichiers et les répertoires d'Amazon S3, qui ne prend en charge que les buckets 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'objets pour indiquer 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 dans le guide de l'utilisateur d'Amazon Simple Storage Service.
| Commande | Amazon S3 | Amazon EFS |
|---|---|---|
cd |
Pris en charge | Pris en charge |
chgrp |
Non pris en charge | Supporté (rootou owner uniquement) |
chmod |
Non pris en charge | Supporté (rootuniquement) |
chmtime |
Non pris en charge | Pris en charge |
chown |
Non pris en charge | Supporté (rootuniquement) |
get |
Pris en charge | Supporté (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 uniquement pour les fichiers NoteLe changement de nom qui remplacerait un fichier existant n'est pas pris en charge. |
Pris en charge NoteLe 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 le transfert de fichiers. Dans ce cas, utilisez la procédure suivante pour trouver votre point de terminaison Amazon VPC.
Pour trouver votre point de terminaison Amazon VPC
-
Accédez à la page de détails de votre serveur.
-
Dans le volet Détails du point de terminaison, sélectionnez le VPC.
-
Dans le tableau de bord Amazon VPC, sélectionnez l'ID du point de terminaison VPC.
-
Dans la liste des noms DNS, le point de terminaison de votre serveur est le premier répertorié.
Évitez les setstat erreurs
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'
UpdateServerAPICreateServeror, utilisez l'ProtocolDetailsoptionSetStatOptionpermettant d'ignorer l'erreur générée lorsque le client tente d'utiliser SETSTAT sur un fichier que vous téléchargez dans un compartiment S3. -
Définissez la valeur sur
ENABLE_NO_OPpour 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
SetStatOptionENABLE_NO_OPparamètre ignore l'erreur, il génère une entrée de journal dans CloudWatch Logs, afin que vous puissiez déterminer à quel moment le client effectue un appel SETSTAT.
Pour les détails de l'API relatifs à 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 serveur compatible SFTP.
Utilisation d'OpenSSH
Pour transférer des fichiers à AWS Transfer Family l'aide de l'utilitaire de ligne de commande OpenSSH
-
Sur Linux, macOS ou Windows, ouvrez un terminal de commande.
-
À l'invite, entrez la commande suivante :
sftp -itransfer-keysftp_user@service_endpointDans la commande précédente,
il s'agit du nom d'utilisateur etsftp_userde la clé privée SSH.transfer-keyVoici le point de terminaison du serveur tel qu'indiqué dans la AWS Transfer Family console du serveur sélectionné.service_endpointNote
Cette commande utilise les paramètres figurant dans le
ssh_configfichier par défaut. À moins que vous n'ayez déjà modifié ce fichier, le protocole SFTP utilise le port 22. Vous pouvez spécifier un port différent (par exemple 2222) en ajoutant un-Pdrapeau à la commande, comme suit.sftp -P 2222 -itransfer-keysftp_user@service_endpointSinon, si vous souhaitez toujours utiliser le port 2222 ou le port 22000, vous pouvez mettre à jour votre port par défaut dans votre
ssh_configfichier.Une invite
sftpdoit s'afficher. -
(Facultatif) Pour afficher le répertoire personnel de l'utilisateur, entrez la commande suivante à l'
sftpinvite :pwd -
Pour télécharger un fichier depuis votre système de fichiers vers le serveur Transfer Family, utilisez la
putcommande. Par exemple, pour chargerhello.txt(en supposant que le fichier se trouve dans le répertoire actuel de votre système de fichiers), exécutez la commande suivante à l'sftpinvite :put hello.txtUn message similaire au suivant apparaît, indiquant que le transfert du fichier est en cours ou terminé.
Uploading hello.txt to /amzn-s3-demo-bucket/home/sftp_user/hello.txthello.txt 100% 127 0.1KB/s 00:00
Note
Une fois votre serveur créé, le nom d'hôte du point de terminaison du serveur peut prendre quelques minutes pour ê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. Toutefois, vous pouvez utiliser la commande scp 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 les versions 9 et ultérieures d'OpenSSH, scp la 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 aux annuaires optimisé 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 AWS
de vos informations d'identification et de vos fichiers. upload/download Pour plus de détails, consultez Connexion au service Amazon S3
Pour transférer des fichiers à AWS Transfer Family l'aide de WinSCP
-
Ouvrez le client WinSCP.
-
Dans la boîte de dialogue de 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 le FTP
-
Chiffrement explicite TLS/SSL pour FTPS
-
-
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, consultez. Trouvez votre point de terminaison Amazon VPC
-
Pour le numéro de port, entrez ce qui suit :
-
22pour SFTP -
21pour FTP/FTPS
-
-
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 :
-
Choisissez Avancé pour ouvrir la boîte de dialogue Paramètres avancés du site. Dans la section SSH, choisissez Authentification.
-
Pour le fichier de clé privée, recherchez et sélectionnez 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.
-
Choisissez OK pour revenir à la boîte de dialogue Login, puis choisissez Sauver.
-
Dans la boîte de dialogue Enregistrer la session en tant que site, cliquez sur OK pour terminer la configuration de votre connexion.
-
Dans la boîte de dialogue de connexion, choisissez Outils, puis Préférences.
-
Dans la boîte de dialogue Préférences, pour Transfer, sélectionnez 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, cela augmente les coûts de téléchargement, diminuant ainsi considérablement les performances de téléchargement. Cela peut également entraîner l'échec des téléchargements de fichiers volumineux.
-
Pour Transférer, choisissez Background et décochez la case Utiliser plusieurs connexions pour un seul transfert.
Conseil : Si vous laissez cette option sélectionnée, les télé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.
-
Effectuez le transfert de vos fichiers.
Vous pouvez utiliser drag-and-drop des méthodes pour copier des fichiers entre les fenêtres cible et 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 comme décrit Évitez les setstat erreurs dans) avant d'SetStatOptioneffectuer des transferts de fichiers. Pour ce faire, dans la boîte de dialogue des paramètres de WinSCP Transfer, 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 l'aide de Cyberduck
-
Ouvrez le client Cyberduck
. -
Choisissez Open Connection.
-
Dans la boîte de dialogue Ouvrir une connexion, choisissez un protocole : SFTP (protocole de transfert de fichiers SSH), FTP-SSL (Explicit AUTH TLS) ou FTP (protocole de transfert de fichiers).
-
Pour Serveur, 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, consultez. Trouvez votre point de terminaison Amazon VPC
-
Pour le numéro de port, entrez ce qui suit :
-
22pour SFTP -
21pour FTP/FTPS
-
-
Dans Nom d'utilisateur, entrez le nom de l'utilisateur que vous avez créé dans Gestion des utilisateurs pour les points de terminaison du serveur.
-
Si SFTP est sélectionné, pour la clé privée SSH, choisissez ou entrez la clé privée SSH.
-
Choisissez Se connecter.
-
Effectuez le transfert de vos 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 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 dans votre répertoire local (la cible).
-
Utiliser FileZilla
Suivez les instructions ci-dessous pour transférer des fichiers à l'aide de FileZilla.
FileZilla Pour configurer un transfert de fichiers
-
Ouvrez le FileZilla client.
-
Choisissez Fichier, puis Gestionnaire de site.
-
Dans la boîte de dialogue Gestionnaire de sites, sélectionnez Nouveau site.
-
Dans l'onglet Général, pour 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 ordinaire (non sécurisé) — pour le FTP
-
Utilisez le protocole FTP explicite sur TLS, si disponible, pour le protocole FTPS
-
-
Dans 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, entrez :
sftp://hostname -
Si vous utilisez le protocole FTPS, entrez :
ftps://hostname
Assurez-vous de le remplacer par le point
hostnamede terminaison de votre serveur actuel.Si votre serveur utilise un point de terminaison VPC, consultez. Trouvez votre point de terminaison Amazon VPC
-
-
Pour le numéro de port, entrez ce qui suit :
-
22pour SFTP -
21pour FTP/FTPS
-
-
Si SFTP est sélectionné, pour Type d'ouverture de session, choisissez Fichier clé.
Pour Fichier clé, choisissez ou entrez la clé privée SSH.
-
Pour Utilisateur, entrez le nom de l'utilisateur que vous avez créé dansGestion des utilisateurs pour les points de terminaison du serveur.
-
Choisissez Se connecter.
-
Effectuez le transfert de vos fichiers.
Note
Si vous interrompez un transfert de fichier en cours, vous AWS Transfer Family pouvez écrire un objet partiel dans votre compartiment Amazon S3. Si vous interrompez un 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 surqueue_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 1.92.02
Utiliser le 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 protocole LFTP présente un problème connu lié aux 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 téléchargement, notamment les métadonnées des objets Amazon S3 et les notifications d'événements.
Métadonnées d'objets Amazon S3
Dans les métadonnées de votre objet, vous pouvez voir 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.
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 Requester 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 Demandeur issu d'un journal d'accès S3 pour un fichier copié dans le compartiment S3.
arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id
Dans le champ Demandeur ci-dessus, il indique le rôle IAM appelé. 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 guide du développeur Amazon Simple Storage Service. Pour plus d'informations sur les identifiants uniques de rôle AWS Identity and Access Management (IAM), consultez la section Identifiants uniques du guide de l'AWS Identity and Access Management 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 un événement SFTP, consultez les journaux de vos clients SFTP. Vous pouvez utiliser ces informations pour résoudre d'éventuelles erreurs ou les transmettre à votre équipe réseau afin qu'elle vous aide à identifier le problème.
| Activité | Description |
|---|---|
| AUTH_FAILURE | L'utilisateur a échoué à s'authentifier. Il peut s'agir de n'importe quel type de défaillance provenant 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 est correctement fermé. |
| CONNECTÉ/DÉCONNECTÉ | Indique le succès normal de la connexion et les déconnexions. |
| CRÉER_SYMLINK | Un lien symbolique a été créé (avec ou sans succès). |
| DELETE | Un fichier a été supprimé (avec ou sans succès). |
| ERROR | 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 entraîné la fin de votre session SFTP. Le message associé à l'événement décrit la cause. |
| MKDIR | Un répertoire a été créé (avec ou sans succès). |
| OPEN | Un fichier a été ouvert en lecture ou en écriture (avec ou sans succès) |
| FERMETURE PARTIELLE | Le client s'est déconnecté du serveur alors qu'un fichier était encore ouvert et aucun message CLOSE n'a été reçu. Transfer Family stocke la partie reçue du fichier (qui peut 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 ou sans succès) |
| RMDIR | Un répertoire a été supprimé (avec ou sans succès) |
| SETSTAT |
Les attributs d'un fichier sont modifiés (avec ou sans succès). NoteTransfer Family ne prend pas en charge SETSTAT si vous utilisez Amazon S3 pour le stockage. La Évitez les setstat erreurs section fournit des détails sur la manière d'éviter |
| TLS_RESUME_FAILURE | Le serveur est configuré pour appliquer la reprise de session TLS et le client ne le prend pas en charge. |