Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Trasferimento di file su un endpoint server utilizzando un client
I file vengono trasferiti tramite il AWS Transfer Family servizio specificando l'operazione di trasferimento in un client. AWS Transfer Family supporta i seguenti client:
-
Supportiamo la versione 3 del SFTP protocollo.
-
Aperto SSH (macOS e Linux)
Nota
Questo client funziona solo con server abilitati per Secure Shell (SSH) File Transfer Protocol (SFTP).
-
Win SCP (solo Microsoft Windows)
-
Cyberduck (Windows, macOS e Linux)
-
FileZilla (Windows, macOS e Linux)
Le seguenti limitazioni si applicano a tutti i client:
-
Il numero massimo di SFTP sessioni multiplex simultanee per connessione è 10.
-
Amazon S3 e Amazon EFS (a causa del NFSv4 protocollo) richiedono che i nomi dei file abbiano la codifica -8. UTF L'utilizzo di codifiche diverse può portare a risultati imprevisti. Per Amazon S3, consulta le linee guida per la denominazione delle chiavi degli oggetti.
-
Per File Transfer Protocol over SSL (FTPS), è supportata solo la modalità Explicit. La modalità implicita non è supportata.
-
Per File Transfer Protocol (FTP) eFTPS, è supportata solo la modalità Passiva.
-
È FTP FTPS supportata solo STREAM la modalità For and.
-
Per FTP eFTPS, è supportata solo la modalità Image/Binary.
-
Per FTP eFTPS, TLS - PROT C (non protetto) TLS per la connessione dati è l'impostazione predefinita, ma PROT C non è supportato nel protocollo. AWS Transfer Family FTPS QuindiFTPS, è necessario emettere PROT P affinché l'operazione sui dati venga accettata.
-
Se utilizzi Amazon S3 per lo storage del tuo server e se il tuo client contiene un'opzione per utilizzare più connessioni per un singolo trasferimento, assicurati di disabilitare l'opzione. Altrimenti, i caricamenti di file di grandi dimensioni possono fallire in modi imprevedibili. Tieni presente che se utilizzi Amazon EFS come backend di archiviazione, EFS supporta più connessioni per un singolo trasferimento.
Di seguito è riportato un elenco di comandi disponibili per FTP eFTPS:
Comandi disponibili | |||||
---|---|---|---|---|---|
ABOR |
FEAT |
MLST |
PASS |
RETR |
STOR |
AUTH |
LANG |
MKD |
PASV |
RMD |
STOU |
CDUP |
LIST |
MODE |
PBSZ |
RNFR |
STRU |
CWD |
MDTM |
NLST |
PROT |
RNTO |
SYST |
DELE |
MFMT |
NOOP |
PWD |
SIZE |
TYPE |
EPSV |
MLSD |
OPTS |
QUIT |
STAT |
USER |
Nota
APPE non è supportato.
InfattiSFTP, le seguenti operazioni non sono attualmente supportate per gli utenti che utilizzano la home directory logica su server che utilizzano Amazon Elastic File System (AmazonEFS).
Comandi non supportati SFTP | |||
---|---|---|---|
SSH_FXP_READLINK |
SSH_FXP_SYMLINK |
SSH_ FXP _ STAT quando il file richiesto è un collegamento simbolico |
SSH_ FXP _ REALPATH quando il percorso richiesto contiene componenti di symlink |
Genera una coppia di chiavi pubblica-privata
Prima di poter trasferire un file, è necessario disporre di una coppia di chiavi pubblica-privata. Se non hai mai generato una key pair in precedenza, vediGenera SSH chiavi per gli utenti gestiti dal servizio.
Argomenti
SFTP/FTPS/FTPComandi disponibili
La tabella seguente descrive i comandi disponibili per AWS Transfer Family, per e i SFTP FTP protocolli. FTPS
Nota
La tabella menziona file e directory per Amazon S3, che supporta solo bucket e oggetti: non esiste una gerarchia. Tuttavia, puoi utilizzare prefissi nei nomi delle chiavi degli oggetti per implicare una gerarchia e organizzare i dati in modo simile alle cartelle. Questo comportamento è descritto in Utilizzo dei metadati degli oggetti nella Guida per l'utente di Amazon Simple Storage Service.
Comando | Amazon S3 | Amazon EFS |
---|---|---|
cd |
Supportato | Supportato |
chgrp |
Non supportato | Supportato (root o owner solo) |
chmod |
Non supportato | Supportato (root solo) |
chmtime |
Non supportato | Supportata |
chown |
Non supportato | Supportato (root solo) |
get |
Supportato | Supportato (inclusa la risoluzione di collegamenti simbolici) |
ln -s |
Non supportato | Supportato |
ls/dir |
Supportato | Supportato |
mkdir |
Supportato | Supportato |
put |
Supportato | Supportato |
pwd |
Supportato | Supportato |
rename |
Supportato solo per i file |
Supportato NotaLa ridenominazione che sovrascriverebbe un file o una directory esistente non è supportata. |
rm |
Supportato | Supportato |
rmdir |
Supportato (solo cartelle vuote) | Supportato |
version |
Supportato | Supportato |
Trova il tuo VPC endpoint Amazon
Se il tipo di endpoint per il server Transfer Family èVPC, identificare l'endpoint da utilizzare per il trasferimento dei file non è semplice. In questo caso, utilizza la procedura seguente per trovare il tuo VPC endpoint Amazon.
Trova il tuo VPC endpoint Amazon
-
Vai alla pagina dei dettagli del tuo server.
-
Nel riquadro dei dettagli dell'endpoint, seleziona. VPC
Nella VPC dashboard di Amazon, seleziona l'ID dell'VPCendpoint.
-
Nell'elenco dei DNSnomi, l'endpoint del server è il primo elencato.
Evita gli errori setstat
Alcuni client di trasferimento SFTP file possono tentare di modificare gli attributi dei file remoti, inclusi timestamp e autorizzazioni, utilizzando comandi, ad esempio SETSTAT durante il caricamento del file. Tuttavia, questi comandi non sono compatibili con i sistemi di archiviazione degli oggetti, come Amazon S3. A causa di questa incompatibilità, i caricamenti di file da questi client possono causare errori anche quando il file viene caricato correttamente.
-
Quando chiami
CreateServer
oUpdateServer
API, utilizza l'ProtocolDetails
opzioneSetStatOption
per ignorare l'errore generato quando il client tenta di utilizzarlo SETSTAT su un file che stai caricando su un bucket S3. -
Imposta il valore
ENABLE_NO_OP
in modo che il server Transfer Family ignori il SETSTAT comando e carichi i file senza dover apportare modifiche al SFTP client. -
Tieni presente che, sebbene l'
SetStatOption
ENABLE_NO_OP
impostazione ignori l'errore, genera una voce di registro in CloudWatch Logs, in modo da poter determinare quando il client sta effettuando una chiamata. SETSTAT
Per i API dettagli di questa opzione, consulta. ProtocolDetails
Usa Open SSH
Usa le istruzioni che seguono per trasferire file dalla riga di comando utilizzando OpenSSH.
Nota
Questo client funziona solo con un server SFTP abilitato.
Per trasferire file AWS Transfer Family utilizzando l'utilità da riga di SSH comando Open
-
Su Linux, macOS o Windows, apri un terminale di comando.
-
Al prompt, inserisci il seguente comando:
sftp -i
transfer-key
sftp_user
@service_endpoint
Nel comando precedente,
è il nome utente e lasftp_user
chiave SSH privata. Quitransfer-key
è l'endpoint del server come mostrato nella AWS Transfer Family console per il server selezionato.service_endpoint
Nota
Questo comando utilizza le impostazioni presenti nel
ssh_config
file predefinito. A meno che non abbiate precedentemente modificato questo file, SFTP utilizza la porta 22. È possibile specificare una porta diversa (ad esempio 2222) aggiungendo un-P
flag al comando, come segue.sftp -P 2222 -i
transfer-key
sftp_user
@service_endpoint
In alternativa, se desideri utilizzare sempre la porta 2222, puoi aggiornare la porta predefinita nel
ssh_config
file.Viene visualizzato un prompt
sftp
. -
(Facoltativo) Per visualizzare la home directory dell'utente, immettete il seguente comando al
sftp
prompt:pwd
-
Per caricare un file dal tuo file system al server Transfer Family, usa il
put
comando. Ad esempio, per caricarehello.txt
(supponendo che il file si trovi nella directory corrente del file system), esegui il comando seguente alsftp
prompt:put hello.txt
Viene visualizzato un messaggio simile al seguente, che indica che il trasferimento del file è in corso o completato.
Uploading hello.txt to /my-bucket/home/sftp_user/hello.txt
hello.txt 100% 127 0.1KB/s 00:00
Nota
Dopo la creazione del server, possono essere necessari alcuni minuti prima che il nome host dell'endpoint del server sia risolvibile dal DNS servizio nell'ambiente in uso.
Usa Win SCP
Usa le istruzioni che seguono per trasferire file dalla riga di comando usando WinSCP.
Nota
Se utilizzi Win SCP 5.19, puoi connetterti direttamente ad Amazon S3 utilizzando le AWS tue credenziali e caricare/scaricare file. Per ulteriori dettagli, consulta Connessione al servizio Amazon S3
Per trasferire file AWS Transfer Family tramite Win SCP
-
Apri il SCP client Win.
-
Nella finestra di dialogo di accesso, per File protocol, scegli un protocollo: SFTPo FTP.
Se avete sceltoFTP, per Crittografia, scegliete una delle seguenti opzioni:
-
Nessuna crittografia per FTP
-
TLS/Crittografia SSL esplicita per FTPS
-
-
Per Host name (Nome host), immettere l'endpoint del server. L'endpoint del server si trova nella pagina dei dettagli del server. Per ulteriori informazioni, consulta Visualizzazione SFTP e FTPS dettagli FTP del server.
Nota
Se il server utilizza un VPC endpoint, consulta. Trova il tuo VPC endpoint Amazon
-
Per Numero di porta, inserisci quanto segue:
-
22
per SFTP -
21
perFTP/FTPS
-
-
Per Nome utente, inserisci il nome dell'utente che hai creato per il tuo provider di identità specifico.
Nota
Il nome utente deve essere uno degli utenti che hai creato o configurato per il tuo provider di identità. AWS Transfer Family fornisce i seguenti provider di identità:
-
Scegliete Avanzate per aprire la finestra di dialogo Impostazioni avanzate del sito. Nella SSHsezione, scegli Autenticazione.
-
Per il file della chiave privata, cerca e scegli il file della chiave SSH privata dal tuo file system.
Nota
Se Win SCP offre la possibilità di convertire la chiave SSH privata nel PPK formato, scegli OK.
-
Scegliere OK per tornare alla finestra di dialogo Login (Accesso), quindi selezionare Save (Salva).
-
Nella finestra di dialogo Salva sessione come sito, scegliete OK per completare la configurazione della connessione.
-
Nella finestra di dialogo di accesso, scegliete Strumenti, quindi scegliete Preferenze.
-
Nella finestra di dialogo Preferenze, per Trasferimento, scegliete Resistenza.
Per l'opzione Abilita trasferimento resume/trasferimento a nome file temporaneo, scegliete Disabilita.
Nota
Se lasci questa opzione abilitata, aumenta i costi di caricamento, diminuendo notevolmente le prestazioni di caricamento. Inoltre, può causare errori nel caricamento di file di grandi dimensioni.
-
Per Trasferimento, scegliete Sfondo e deselezionate la casella di controllo Usa più connessioni per un singolo trasferimento.
Nota
Se lasci selezionata questa opzione, i caricamenti di file di grandi dimensioni possono fallire in modi imprevedibili. Ad esempio, è possibile creare caricamenti multiparte orfani che prevedono costi per Amazon S3. Può verificarsi anche un danneggiamento silenzioso dei dati.
-
Esegui il trasferimento dei file.
È possibile utilizzare drag-and-drop metodi per copiare i file tra la finestra di destinazione e quella di origine. È possibile utilizzare le icone della barra degli strumenti per caricare, scaricare, eliminare, modificare o modificare le proprietà dei file in SCP Win.
Nota
Questa nota non si applica se utilizzi Amazon EFS per lo storage.
I comandi che tentano di modificare gli attributi dei file remoti, inclusi i timestamp, non sono compatibili con i sistemi di storage di oggetti come Amazon S3. Pertanto, se utilizzi Amazon S3 per lo storage, assicurati di disabilitare le impostazioni del SCP timestamp di Win (o di utilizzarle SetStatOption
come descritto inEvita gli errori setstat) prima di eseguire i trasferimenti di file. A tale scopo, nella finestra di dialogo delle impostazioni di Win SCP Transfer, disabilita l'opzione di caricamento delle autorizzazioni e l'opzione comune Preserve timestamp.
Usa Cyberduck
Utilizza le istruzioni che seguono per trasferire i file dalla riga di comando tramite Cyberduck.
Per trasferire file tramite Cyberduck AWS Transfer Family
-
Apri il client Cyberduck
. -
Scegli Apri connessione.
-
Nella finestra di dialogo Apri connessione, scegliete un protocollo: SFTP(SSHFile Transfer Protocol), FTP- SSL (Explicit AUTHTLS) o FTP(File Transfer Protocol).
-
Per Server, inserite l'endpoint del server. L'endpoint del server si trova nella pagina dei dettagli del server. Per ulteriori informazioni, consulta Visualizzazione SFTP e FTPS dettagli FTP del server.
Nota
Se il server utilizza un VPC endpoint, consulta. Trova il tuo VPC endpoint Amazon
-
Per Numero di porta, inserisci quanto segue:
-
22
per SFTP -
21
perFTP/FTPS
-
-
Per Username (Nome utente), immettere il nome per l'utente creato in Gestione degli utenti per gli endpoint del server.
-
Se SFTP è selezionata, per Chiave SSH privata, scegli o inserisci la chiave SSH privata.
-
Scegli Connetti.
-
Esegui il trasferimento dei file.
In base alla posizione dei file, eseguire una delle seguenti operazioni:
-
Nella tua directory locale (l'origine), scegli i file che desideri trasferire e trascinali nella directory Amazon S3 (la destinazione).
-
Nella directory Amazon S3 (l'origine), scegli i file che desideri trasferire e trascinali nella tua directory locale (la destinazione).
-
Usa FileZilla
Usa le istruzioni che seguono per trasferire file utilizzando FileZilla.
FileZilla Per configurare un trasferimento di file
-
Apri il FileZilla client.
-
Scegli File, quindi scegli Site Manager.
-
Nella finestra di dialogo Gestione siti, scegliete Nuovo sito.
-
Nella scheda Generale, per Protocollo, scegliete un protocollo: SFTPo FTP.
Se hai sceltoFTP, per Crittografia, scegli una delle seguenti opzioni:
-
Usa solo plain FTP (insecure) — per FTP
-
Usa explicit FTP over, TLS se disponibile, per FTPS
-
-
Per Nome host, inserisci il protocollo che stai utilizzando, seguito dall'endpoint del server. L'endpoint del server si trova nella pagina dei dettagli del server. Per ulteriori informazioni, consulta Visualizzazione SFTP e FTPS dettagli FTP del server.
Nota
Se il server utilizza un VPC endpoint, consulta. Trova il tuo VPC endpoint Amazon
-
Se lo stai usandoSFTP, inserisci:
sftp://
hostname
-
Se stai usandoFTPS, inserisci:
ftps://
hostname
Assicurati di sostituire
hostname
con il tuo attuale endpoint del server. -
-
Per Numero di porta, inserisci quanto segue:
-
22
per SFTP -
21
perFTP/FTPS
-
-
Se SFTP è selezionato, per Tipo di accesso, scegli File chiave.
Per File chiave, scegli o inserisci la chiave SSH privata.
-
Per Utente, inserisci il nome dell'utente in cui hai creatoGestione degli utenti per gli endpoint del server.
-
Scegli Connetti.
-
Esegui il trasferimento del file.
Nota
Se interrompi un trasferimento di file in corso, AWS Transfer Family potresti scrivere un oggetto parziale nel tuo bucket Amazon S3. Se interrompi un caricamento, verifica che la dimensione del file nel bucket Amazon S3 corrisponda alla dimensione del file dell'oggetto sorgente prima di continuare.
Usa un client Perl
Se si utilizza il client NET::SFTP::Foreign perl, è necessario impostare su. queue_size
1
Per esempio:
my $sftp =
Net::SFTP::Foreign->new('
user
@s-12345
.server.transfer.us-east-2
.amazonaws.com',
queue_size => 1);
Elaborazione successiva al caricamento
Puoi visualizzare le informazioni di elaborazione post-caricamento, inclusi i metadati degli oggetti Amazon S3 e le notifiche degli eventi.
Metadati degli oggetti Amazon S3
Come parte dei metadati del tuo oggetto, vedi una chiave chiamata x-amz-meta-user-agent
il cui valore è AWSTransfer
e x-amz-meta-user-agent-id
il cui valore è. username@server-id
username
È l'utente Transfer Family che ha caricato il file ed server-id
è il server utilizzato per il caricamento. È possibile accedere a queste informazioni utilizzando l'HeadObjectoperazione sull'oggetto S3 all'interno della funzione Lambda.
![](images/s3-object-metadata.png)
Notifiche di eventi Amazon S3
Quando un oggetto viene caricato nel tuo bucket S3 utilizzando Transfer Family, RoleSessionName
è contenuto nel campo Requester nella struttura di notifica degli eventi S3 come. [AWS:Role Unique
Identifier]/username.sessionid@server-id
Ad esempio, di seguito sono riportati i contenuti di un campo Requester di esempio da un log di accesso S3 per un file che è stato copiato nel bucket S3.
arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id
Nel campo Requester in alto, mostra il ruolo chiamato. IAM IamRoleName
Per ulteriori informazioni sulla configurazione delle notifiche degli eventi S3, consulta la sezione Configurazione delle notifiche degli eventi di Amazon S3 nella Amazon Simple Storage Service Developer Guide. Per ulteriori informazioni sugli identificatori univoci dei ruoli AWS Identity and Access Management (IAM), consulta Identificatori univoci nella Guida per l'utente.AWS Identity and Access Management