View a markdown version of this page

Trasferimento di file su un endpoint server utilizzando un client - AWS Transfer Family

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 protocollo SFTP.

  • OpenSSH (macOS e Linux)

    Nota

    Questo client funziona solo con server abilitati per Secure Shell (SSH) File Transfer Protocol (SFTP).

  • WinSCP (solo Microsoft Windows)

  • Cyberduck (Windows, macOS e Linux)

  • FileZilla (Windows, macOS e Linux)

Le seguenti limitazioni si applicano a tutti i clienti:

  • Il protocollo SCP non è supportato, in quanto considerato non sicuro. È possibile utilizzare il scp comando OpenSSH come descritto in. Utilizzo del comando scp

  • Il numero massimo di sessioni SFTP simultanee e multiplexate per connessione è 10.

  • Per le connessioni inattive, il valore di timeout è 1800 secondi (30 minuti) per tutti i protocolli (). SFTP/FTP/FTPS Se non vi è alcuna attività dopo questo periodo, il client potrebbe essere disconnesso. Per connessioni che non rispondono:

    • SFTP ha un timeout di 300 secondi (5 minuti) quando un client non risponde completamente.

    • FTPS e FTP hanno un timeout di inrisposta di circa 10 minuti che viene gestito dalla libreria sottostante.

  • Amazon S3 e Amazon EFS (a causa del protocollo NFSv4) richiedono che i nomi dei file siano codificati. UTF-8 L'uso 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) e FTPS, è supportata solo la modalità passiva.

  • Per FTP e FTPS, è supportata solo la modalità STREAM.

  • Per FTP e FTPS, è supportata solo Image/Binary la modalità.

  • Per FTP e FTPS, TLS - PROT C (non protetto) TLS per la connessione dati è l'impostazione predefinita, ma PROT C non è supportato nel protocollo FTPS. AWS Transfer Family Quindi, per FTPS, è 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 dei comandi disponibili per FTP e FTPS:

Comandi disponibili

LAVORO

PRODEZZA

LA MAGGIOR PARTE

PASSARE

RETRÒ

STORIA

AUTENTICAZIONE

LANG

MKD

PASSV

RMD

SOSTA

TAZZA

LIST

MODE

PBSZ

RNFR

STRU

CWD

MDTM

NOST

PORTA

AFFITTO

SISTEMA

DELE

MFMT

NOOP

PWD

SIZE

TYPE

EPSV

MLSD

OPTA

QUIT

INIZIO

UTENTE

Nota

APPE non è supportato.

Per SFTP, le seguenti operazioni non sono attualmente supportate per gli utenti che utilizzano la home directory logica su server che utilizzano Amazon Elastic File System (Amazon EFS).

Comandi SFTP non supportati

SSH_FXP_READLINK

COLLEGAMENTO SIMBOLICO SSH_FXP_

SSH_FXP_STAT quando il file richiesto è un collegamento simbolico

SSH_FXP_REALPATH quando il percorso richiesto contiene componenti di collegamento simbolico

Genera una coppia di chiavi pubblica-privata

Prima di poter trasferire un file, è necessario disporre di una coppia di chiavi pubblica-privata. Se non avete generato una coppia di chiavi in precedenza, consultate. Genera chiavi SSH per utenti gestiti dal servizio

SFTP/FTPS/FTP Comandi disponibili

La tabella seguente descrive i comandi disponibili per e per AWS Transfer Family i protocolli SFTP, FTPS e FTP.

Nota

La tabella menziona i file e le directory per Amazon S3, che supporta solo bucket e oggetti: non esiste una gerarchia. Tuttavia, puoi utilizzare i prefissi nei nomi delle chiavi degli oggetti per implicare una gerarchia e organizzare i dati in modo simile alle cartelle. Questo comportamento è descritto in Working with object metadata nella Amazon Simple Storage Service User Guide.

SFTP/FTPS/FTP Comandi
Comando Simple Storage Service (Amazon S3) Amazon EFS
cd Supportata Supportata
chgrp Non supportata Supportato (rooto owner solo)
chmod Non supportata Supportato (rootsolo)
chmtime Non supportata Supportata
chown Non supportata Supportato (rootsolo)
get Supportata Supportato (inclusa la risoluzione dei collegamenti simbolici)
ln -s Non supportata Supportato
ls/dir Supportato Supportato
mkdir Supportato Supportato
put Supportato Supportato
pwd Supportato Supportata
rename Supportato solo per i file
Nota

La ridenominazione che sovrascriverebbe un file esistente non è supportata.

Supportata
Nota

La ridenominazione che sovrascriverebbe un file o una directory esistente non è supportata.

rm Supportata Supportata
rmdir Supportato (solo cartelle vuote) Supportata
version Supportato Supportata

Trova il tuo endpoint Amazon VPC

Se il tipo di endpoint per il tuo server Transfer Family è VPC, identificare l'endpoint da utilizzare per il trasferimento dei file non è semplice. In questo caso, utilizza la seguente procedura per trovare il tuo endpoint Amazon VPC.

Per trovare il tuo endpoint Amazon VPC
  1. Vai alla pagina dei dettagli del tuo server.

  2. Nel riquadro dei dettagli dell'endpoint, seleziona il VPC.

    La pagina dei dettagli del server della console Transfer Family, che mostra i dettagli dell'endpoint per un server VPC.
  3. Nella dashboard di Amazon VPC, seleziona l'ID dell'endpoint VPC.

  4. Nell'elenco dei nomi DNS, l'endpoint del tuo server è il primo elencato.

    La pagina Endpoints della console Amazon VPC, che mostra i nomi DNS per un endpoint selezionato.

Evita gli errori setstat

Alcuni client di trasferimento file SFTP possono tentare di modificare gli attributi dei file remoti, inclusi timestamp e autorizzazioni, utilizzando comandi come 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 l'UpdateServerAPI CreateServer or, usa l'ProtocolDetailsopzione SetStatOption per ignorare l'errore che viene generato quando il client tenta di utilizzare SETSTAT su un file che stai caricando in un bucket S3.

  • Impostare il valore su ENABLE_NO_OP per fare in modo che il server Transfer Family ignori il comando SETSTAT e carichi i file senza che sia necessario modificare il client SFTP.

  • Nota che, sebbene l'SetStatOptionENABLE_NO_OPimpostazione 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 dettagli dell'API per questa opzione, consulta ProtocolDetails.

Usa OpenSSH

Questa sezione contiene le istruzioni per trasferire file dalla riga di comando usando OpenSSH.

Nota

Questo client funziona solo con un SFTP-enabled server.

Utilizzo di OpenSSH

Per trasferire file tramite AWS Transfer Family utilizzando l'utilità della riga di comando OpenSSH
  1. Su Linux, macOS o Windows, apri un terminale di comando.

  2. Al prompt, immetti il seguente comando:

    sftp -i transfer-key sftp_user@service_endpoint

    Nel comando precedente, sftp_user è il nome utente e la transfer-key chiave privata SSH. service_endpointEcco l'endpoint del server, come mostrato nella AWS Transfer Family console del server selezionato.

    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 si desidera utilizzare sempre la porta 2222 o la porta 22000, è possibile aggiornare la porta predefinita nel ssh_config file.

    Viene visualizzato un prompt sftp.

  3. (Facoltativo) Per visualizzare la home directory dell'utente, immettete il seguente comando al sftp prompt:

    pwd

  4. Per caricare un file dal tuo file system al server Transfer Family, usa il put comando. Ad esempio, per caricarlo hello.txt (supponendo che il file si trovi nella directory corrente del file system), esegui il seguente comando al sftp 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 /amzn-s3-demo-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 servizio DNS nell'ambiente in uso.

Utilizzo del comando scp

Transfer Family non supporta il protocollo SCP. Tuttavia, puoi usare il scp comando OpenSSH se hai bisogno di questa funzionalità.

La raccomandazione per l'uso di SCP su SFTP è di utilizzare OpenSSH versione 9.0 o successiva. In OpenSSH versione 9 e successive, il scp comando utilizza per impostazione predefinita il protocollo SFTP per i trasferimenti di file anziché il protocollo SCP precedente.

Importante

Assicurati che il tuo server Transfer Family sia stato configurato per utilizzare l'accesso alle directory ottimizzato per S3.

Usa WinSCP

Utilizza le istruzioni che seguono per trasferire i file dalla riga di comando tramite WinSCP.

Nota

Se utilizzi WinSCP 5.19, puoi connetterti direttamente ad Amazon S3 utilizzando le tue credenziali e i tuoi file. AWS upload/download Per maggiori dettagli, consulta Connessione al servizio Amazon S3.

Per trasferire file tramite AWS Transfer Family usando WinSCP
  1. Aprire il client WinSCP.

  2. Nella finestra di dialogo Login, per File protocol, scegli un protocollo: SFTP o FTP.

    Se hai scelto FTP, per Crittografia, scegli uno dei seguenti:

    • Nessuna crittografia per FTP

    • TLS/SSL Crittografia esplicita per FTPS

  3. 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 Visualizza i dettagli dei server SFTP, FTPS e FTP.

    Se il tuo server utilizza un endpoint VPC, consulta. Trova il tuo endpoint Amazon VPC

  4. Per il numero di porta, inserisci quanto segue:

    • 22per SFTP

    • 21per FTP/FTPS

  5. Per Nome utente, inserisci il nome dell'utente che hai creato per il tuo provider di identità specifico.

    Suggerimento: 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à:

  6. Scegliete Avanzate per aprire la finestra di dialogo Impostazioni avanzate del sito. Nella sezione SSH, scegli Autenticazione.

  7. Per il file con chiave privata, cerca e scegli il file di chiave privata SSH dal tuo file system.

    Se WinSCP offre la possibilità di convertire la chiave privata SSH nel formato PPK, scegli OK.

  8. Scegliere OK per tornare alla finestra di dialogo Login (Accesso), quindi selezionare Save (Salva).

  9. Nella finestra di dialogo Salva sessione come sito, scegliete OK per completare la configurazione della connessione.

  10. Nella finestra di dialogo Login, scegliete Strumenti, quindi scegliete Preferenze.

  11. Nella finestra di dialogo Preferenze, per Trasferimento, scegli Endurance.

    Per l'opzione Abilita il trasferimento su resume/transfer un nome di file temporaneo, scegli Disabilita.

    Importante

    Se lasci questa opzione abilitata, i costi di caricamento aumentano, riducendo notevolmente le prestazioni di caricamento. Inoltre, può portare al fallimento del caricamento di file di grandi dimensioni.

  12. Per Trasferimento, scegli Sfondo e deseleziona la casella di controllo Usa più connessioni per un singolo trasferimento.

    Suggerimento: 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 comportano costi Amazon S3. Può verificarsi anche un danneggiamento silenzioso dei dati.

  13. Esegui il trasferimento dei file.

    È possibile utilizzare i metodi drag-and-drop 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 WinSCP.

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 a oggetti come Amazon S3. Pertanto, se utilizzi Amazon S3 per lo storage, assicurati di disabilitare le impostazioni del timestamp di WinSCP (o di utilizzare quelle descritte in) prima di eseguire i trasferimenti di SetStatOption file. Evita gli errori setstat A tale scopo, nella finestra di dialogo delle impostazioni di WinSCP Transfer, disabilita l'opzione di caricamento Imposta 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 AWS Transfer Family usando Cyberduck
  1. Apri il client Cyberduck.

  2. Scegli Open Connection.

  3. Nella finestra di dialogo Apri connessione, scegliete un protocollo: SFTP (SSH File Transfer Protocol), FTP-SSL (Explicit AUTH TLS) o FTP (File Transfer Protocol).

  4. Per Server, inserisci l'endpoint del tuo server. L'endpoint del server si trova nella pagina dei dettagli del server. Per ulteriori informazioni, consulta Visualizza i dettagli dei server SFTP, FTPS e FTP.

    Se il tuo server utilizza un endpoint VPC, consulta. Trova il tuo endpoint Amazon VPC

  5. Per il numero di porta, inserisci quanto segue:

    • 22per SFTP

    • 21per FTP/FTPS

  6. Per Username (Nome utente), immettere il nome per l'utente creato in Gestione degli utenti per gli endpoint del server.

  7. Se è selezionato SFTP, per SSH Private Key, scegli o inserisci la chiave privata SSH.

  8. Scegli Connetti.

  9. Eseguite il trasferimento dei file.

    In base alla posizione dei file, eseguire una delle seguenti operazioni:

    • Nella tua directory locale (l'origine), scegli i file da trasferire e trascinali nella directory Amazon S3 (la destinazione).

    • Nella directory Amazon S3 (l'origine), scegli i file da trasferire e trascinali nella tua directory locale (la destinazione).

Usa FileZilla

Usa le istruzioni che seguono per trasferire i file usando FileZilla.

FileZilla Per configurare un trasferimento di file
  1. Aprire il FileZilla client.

  2. Scegli File, quindi scegli Site Manager.

  3. Nella finestra di dialogo Site Manager, scegliete Nuovo sito.

  4. Nella scheda Generale, per Protocollo, scegli un protocollo: SFTP o FTP.

    Se hai scelto FTP, per Crittografia, scegli uno dei seguenti:

    • Usa solo FTP semplice (non sicuro), per FTP

    • Usa FTP esplicito su TLS, se disponibile, per FTPS

  5. Per Nome host, inserisci il protocollo che stai utilizzando, seguito dall'endpoint del tuo server. L'endpoint del server si trova nella pagina dei dettagli del server. Per ulteriori informazioni, consulta Visualizza i dettagli dei server SFTP, FTPS e FTP.

    • Se stai usando SFTP, inserisci: sftp://hostname

    • Se stai usando FTPS, inserisci: ftps://hostname

    Assicurati di sostituirlo hostname con il tuo endpoint server effettivo.

    Se il tuo server utilizza un endpoint VPC, consulta. Trova il tuo endpoint Amazon VPC

  6. Per il numero di porta, inserisci quanto segue:

    • 22per SFTP

    • 21per FTP/FTPS

  7. Se è selezionato SFTP, per Tipo di accesso, scegli File chiave.

    Per File chiave, scegli o inserisci la chiave privata SSH.

  8. Per Utente, inserisci il nome dell'utente in Gestione degli utenti per gli endpoint del server cui hai creato.

  9. Scegli Connetti.

  10. Esegui il trasferimento dei 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 usi il client NET::SFTP::Foreign perl, devi impostarlo su. queue_size 1 Ad esempio:

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

Nota

Questa soluzione alternativa è necessaria per le revisioni Net::SFTP::Foreign precedenti alla 1.92.02. https://metacpan.org/changes/release/SALVA/Net-SFTP-Foreign-1.93#L12

Usa LFTP

LFTP è un client FTP gratuito che consente agli utenti di eseguire trasferimenti di file tramite l'interfaccia a riga di comando dalla maggior parte delle macchine Linux.

Per il download di file di grandi dimensioni, LFTP presenta un problema noto relativo ai pacchetti fuori servizio, che causa il fallimento del trasferimento dei file.

Elaborazione successiva al caricamento

Puoi visualizzare le informazioni sull'elaborazione successiva al 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, viene visualizzata una chiave denominata il cui valore è e x-amz-meta-user-agent il cui valore èAWSTransfer. x-amz-meta-user-agent-id username@server-id usernameÈ l'utente di 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.

La schermata dei metadati che mostra le informazioni sui metadati degli oggetti Amazon S3 per. AWS Transfer Family

Notifiche di eventi Amazon S3

Quando un oggetto viene caricato nel 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, i seguenti sono 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 sopra riportato, mostra il ruolo IAM chiamato. IamRoleName Per ulteriori informazioni sulla configurazione delle notifiche di eventi S3, consulta Configurazione delle notifiche di eventi di Amazon S3 nella Amazon Simple Storage Service Developer Guide. Per ulteriori informazioni sugli identificatori univoci di ruolo AWS Identity and Access Management (IAM), consulta Identificatori univoci nella Guida per l'utente. AWS Identity and Access Management

Messaggi SFTP

Questa sezione descrive i messaggi lato client che potreste ricevere durante o dopo i trasferimenti di file SFTP quando utilizzate un server Transfer Family. Per ulteriori informazioni su qualsiasi evento SFTP, controllate i log del client SFTP. Potete utilizzare queste informazioni per risolvere eventuali errori o inoltrarle al team di rete per aiutarlo a identificare il problema.

Messaggi SFTP sul lato client
Attività Description
AUTH_FAILURE L'autenticazione dell'utente non è riuscita. Può trattarsi di qualsiasi tipo di errore da parte di un provider di identità personalizzato o di un utente gestito dal servizio. I dettagli dell'evento aiutano a chiarire la causa principale dell'errore.
CLOSE Indica che un file o una directory aperti sono stati chiusi correttamente.
CONNECTED/DISCONNECTED Indica il normale successo e le disconnessioni della connessione.
CREATE_SYMLINK È stato creato un collegamento simbolico (con o senza successo).
DELETE Un file è stato eliminato (con successo o senza successo).
ERRORE Un errore generale e imprevisto. La descrizione associata contiene informazioni che possono aiutare te o i tuoi amministratori di rete a identificare il problema specifico.
EXIT_REASON Emesso quando un errore imprevisto ha causato l'interruzione della sessione SFTP. Il messaggio associato all'evento ne descrive la causa.
MKDIR È stata creata una directory (con o senza successo).
APERTO È stato aperto un file per la lettura o la scrittura (con o senza successo)
PARTIAL_CLOSE Il client si è disconnesso dal server mentre un file era ancora aperto senza ricevere alcun messaggio CLOSE. Transfer Family memorizza la parte ricevuta del file (che in effetti potrebbe essere il file completo) ed emette l'evento PARTIAL_CLOSE per avvisare il cliente del problema. L'integrazione dei flussi di lavoro riceve anche un onPartialClose evento per gestire il file in modo appropriato.
RENAME Un file è stato rinominato (con successo o senza successo)
RMDIR Una directory è stata eliminata (con successo o senza successo)
SETSTAT

Gli attributi di un file vengono modificati (con o senza successo).

Nota

Transfer Family non supporta SETSTAT se utilizzi Amazon S3 per lo storage. La Evita gli errori setstat sezione fornisce dettagli su come evitare SetStat errori disattivando l'impostazione. Questo ti evita di ricevere un messaggiofail unsupported error: invece, ricevi un success but do nothing messaggio.

TLS_RESUME_FAILURE Il server è configurato per imporre la ripresa della sessione TLS e il client non la supporta.