As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Transferindo arquivos em um endpoint de servidor usando um cliente
Você transfere arquivos pelo AWS Transfer Family serviço especificando a operação de transferência em um cliente. AWS Transfer Family suporta os seguintes clientes:
-
Oferecemos suporte à versão 3 do protocolo SFTP.
-
OpenSSH (macOS e Linux)
nota
Esse cliente funciona somente com servidores habilitados para File Transfer Protocol (SFTP) da Secure Shell (SSH).
-
WinSCP (Microsoft Windows somente)
-
Cyberduck (Windows, MacOS e Linux)
-
FileZilla (Windows, macOS e Linux)
As limitações a seguir se aplicam a cada cliente:
-
O protocolo SCP não é suportado, pois é considerado inseguro. Você pode usar o comando OpenSSH
scpconforme descrito em. Usar o comando scp -
O número máximo de sessões SFTP simultâneas e multiplexadas por conexão é 10.
-
Para conexões inativas, o valor do tempo limite é de 1800 segundos (30 minutos) para todos os protocolos (). SFTP/FTP/FTPS Se não houver atividade após esse período, o cliente poderá ser desconectado. Para conexões que não respondem:
-
O SFTP tem um tempo limite de 300 segundos (5 minutos) quando um cliente não responde completamente.
-
O FTPS e o FTP têm um tempo limite de aproximadamente 10 minutos sem resposta, gerenciado pela biblioteca subjacente.
-
-
O Amazon S3 e o Amazon EFS (devido ao NFSv4 protocolo) exigem que os nomes dos arquivos estejam na codificação UTF-8. Usar uma codificação diferente pode levar a resultados inesperados. Para o Amazon S3, consulte as Diretrizes de nomenclatura de chaves de objetos.
-
Para o protocolo de Transferência de Arquivos SSL (FTPS), somente o modo explícito é compatível. O modo implícito não é compatível.
-
Para o protocolo de Transferência de Arquivos (FTP) e FTPS, somente o modo passivo é compatível.
-
Para FTP e FTPS, somente o modo STREAM é compatível.
-
Para FTP e FTPS, somente o Image/Binary modo é suportado.
-
Para FTP e FTPS, o TLS TLS - PROT C (desprotegido) para a conexão de dados é o padrão, mas o PROT C não é suportado no protocolo FTPS. AWS Transfer Family Portanto, para FTPS, você precisa emitir PROT P para que sua operação de dados seja aceita.
-
Se você estiver usando o Amazon S3 para o armazenamento do seu servidor e se o seu cliente tiver a opção de usar várias conexões para uma única transferência, certifique-se de desativar a opção. Caso contrário, uploads de arquivos grandes podem falhar de forma imprevisível. Observe que, se você estiver usando o Amazon EFS como back-end de armazenamento, o EFS não oferece suporte a várias conexões para uma única transferência.
Veja a seguir uma lista dos comandos disponíveis para FTP e FTPS:
| Comandos disponíveis | |||||
|---|---|---|---|---|---|
ABOR |
FEAT |
MLST |
PASS |
RETR |
STOR |
AUTH |
LANG |
MKD |
PASV |
RMD |
STOU |
COPO |
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 não é compatível.
No momento, as operações a seguir não são compatíveis para usuários que usam o diretório inicial lógico em servidores que usam o Amazon Elastic File System (Amazon EFS).
| Comandos SFTP incompatíveis | |||
|---|---|---|---|
SSH_FXP_READLINK |
SSH_FXP_SYMLINK |
SSH_FXP_STAT quando o arquivo solicitado é um symlink |
SSH_FXP_REALPATH quando o caminho solicitado contém qualquer componente symlink |
Gerar um par de chaves pública-privada.
Antes de transferir um arquivo, você deve ter um par de chaves pública-privada disponível. Se você ainda não gerou um par de chaves, consulte Gere chaves SSH para usuários gerenciados por serviços.
Tópicos
SFTP/FTPS/FTPComandos disponíveis
A tabela a seguir descreve os comandos disponíveis para AWS Transfer Family, para os protocolos SFTP, FTPS e FTP.
nota
A tabela menciona arquivos e diretórios do Amazon S3, que só oferece suporte a buckets e objetos: não há hierarquia. No entanto, você pode usar prefixos em nomes de chaves de objetos para sugerir uma hierarquia e organizar seus dados de forma semelhante às pastas. Esse comportamento é descrito em Trabalhar com metadados de objetos no Guia do usuário do Amazon Simple Storage Service.
| Command | Amazon S3 | Amazon EFS |
|---|---|---|
cd |
Compatível | Compatível |
chgrp |
Não compatível | Compatível (apenas com root ou owner) |
chmod |
Não compatível | Compatível (apenas com root) |
chmtime |
Não compatível | Compatível |
chown |
Não compatível | Compatível (apenas com root) |
get |
Compatível | Compatível (incluindo resolução de links simbólicos) |
ln -s |
Não compatível | Compatível |
ls/dir |
Compatível | Compatível |
mkdir |
Compatível | Compatível |
put |
Compatível | Compatível |
pwd |
Compatível | Compatível |
rename |
Compatível somente com arquivos notaA renomeação que substituiria um arquivo existente não é suportada. |
Compatível notaNão há suporte para renomear um arquivo ou diretório existente. |
rm |
Compatível | Compatível |
rmdir |
Compatível (somente diretórios vazios) | Compatível |
version |
Compatível | Compatível |
Encontre seu endpoint da Amazon VPC
Se o tipo de endpoint do seu servidor Transfer Family para VPC, identificar o endpoint a ser usado para transferir arquivos não é simples. Nesse caso, use o procedimento a seguir para localizar o endpoint da Amazon VPC.
Para encontrar seu endpoint Amazon VPC
-
Navegue até a página de detalhes do seu servidor.
-
No painel de Detalhes do endpoint, selecione o VPC.
-
No painel do endpoint da Amazon VPC, selecione o ID do endpoint do VPC.
-
Na lista de Nomes de DNS, o endpoint do seu servidor é o primeiro listado.
Evitar erros setstat
Alguns clientes de transferência de arquivos SFTP podem tentar alterar os atributos de arquivos remotos, incluindo timestamp e permissões, utilizando comandos como SETSTAT ao carregar o arquivo. No entanto, esses comandos não são compatíveis com sistemas de armazenamento de objetos, como o Amazon S3. Devido a essa incompatibilidade, os uploads de arquivos desses clientes podem resultar em erros, mesmo quando o arquivo é carregado com êxito em outras circunstâncias.
-
Quando você chama a API
CreateServerouUpdateServer, use aProtocolDetailsopçãoSetStatOptionpara ignorar o erro gerado quando o cliente tenta usar SETSTAT em um arquivo que você está carregando em um bucket do S3. -
Defina o valor como
ENABLE_NO_OPpara que o servidor do Transfer Family ignore o comando SETSTAT e carregue arquivos sem precisar fazer alterações no cliente SFTP. -
Observe que, embora a
SetStatOptionENABLE_NO_OPconfiguração ignore o erro, ela gera uma entrada de registro em CloudWatch Logs, para que você possa determinar quando o cliente está fazendo uma chamada SETSTAT.
Para obter os detalhes da API dessa opção, consulte ProtocolDetails.
Usar OpenSSH
Esta seção contém instruções para transferir arquivos da linha de comando usando o OpenSSH.
nota
Esse cliente funciona somente com um servidor habilitado para SFTP.
Usar o OpenSSH
Para transferir arquivos AWS Transfer Family usando o utilitário de linha de comando OpenSSH
-
No Linux ou MacOS ou Windows, abra um terminal de comando.
-
No prompt, insira o seguinte comando:
sftp -itransfer-keysftp_user@service_endpointNo comando anterior,
é o nome do usuário esftp_useré a chave privada de SSH. Aquitransfer-keyestá o endpoint do servidor, conforme mostrado no AWS Transfer Family console do servidor selecionado.service_endpointnota
Esse comando usa configurações que estão no
ssh_configarquivo padrão. A menos que você tenha editado esse arquivo anteriormente, o SFTP usa a porta 22. Você pode especificar uma porta diferente (por exemplo, 2222) adicionando um-Psinalizador ao comando, da seguinte maneira.sftp -P 2222 -itransfer-keysftp_user@service_endpointComo alternativa, se você sempre quiser usar a porta 2222 ou a porta 22000, poderá atualizar a porta padrão em seu
ssh_configarquivo.Um prompt
sftpdeve ser exibido. -
(Opcional) Para visualizar o diretório inicial do usuário, digite o seguinte comando no prompt
sftp:pwd -
Para carregar um arquivo do seu sistema de arquivos para o servidor Transfer Family, use o comando
put. Por exemplo, para fazer o upload dohello.txt(supondo que o arquivo esteja no diretório atual do sistema de arquivos), execute o seguinte comando no promptsftp:put hello.txtUma mensagem semelhante à seguinte será exibida, indicando que a transferência de arquivos está em andamento ou foi concluída.
Uploading hello.txt to /amzn-s3-demo-bucket/home/sftp_user/hello.txthello.txt 100% 127 0.1KB/s 00:00
nota
Depois de o servidor ser criado, poderá demorar alguns minutos para que o nome do host do endpoint do seu servidor possa ser resolvido pelo serviço de DNS em seu ambiente.
Usar o comando scp
O Transfer Family não suporta o protocolo SCP. No entanto, você pode usar o comando scp OpenSSH se precisar dessa funcionalidade.
A recomendação para usar o SCP sobre SFTP é usar o OpenSSH versão 9.0 ou posterior. No OpenSSH versão 9 e posterior, scp o comando usa como padrão o protocolo SFTP para transferências de arquivos em vez do protocolo SCP legado.
Importante
Certifique-se de que seu servidor Transfer Family tenha sido configurado para usar o acesso a diretórios otimizado do S3.
Usar o WinSCP
Use as instruções a seguir para transferir arquivos a partir da linha de comando usando o WinSCP.
nota
Se você estiver usando o WinSCP 5.19, você pode se conectar diretamente ao Amazon S3 usando suas credenciais e arquivos. AWS
upload/download Para obter mais detalhes, consulte Conectar-se ao serviço Amazon S3
Para transferir arquivos AWS Transfer Family usando o WinSCP
-
Abra o cliente WinSCP.
-
Na caixa de diálogo Login, em Protocolo de arquivo, escolha um protocolo: SFTP ou FTP.
Se você escolheu FTP, em Criptografia, selecione uma das seguintes opções:
-
Sem criptografia para FTP
-
Criptografia explícita TLS/SSL para FTPS
-
-
Em Nome do host, insira o endpoint do servidor. O endpoint do servidor está localizado na página de Detalhes do servidor. Para obter mais informações, consulte Exibir detalhes do servidor SFTP, FTPS e FTP.
Se seu servidor usa um endpoint do VPC, consulte Encontre seu endpoint da Amazon VPC.
-
Em Número da porta, digite o seguinte:
-
22para SFTP -
21para FTP/FTPS
-
-
Em Nome do usuário, insira o nome do usuário que você criou para seu provedor de identidade específico.
Dica: O nome de usuário deve ser um dos usuários que você criou ou configurou para seu provedor de identidade. AWS Transfer Family fornece os seguintes provedores de identidade:
-
Escolha Avançado para abrir a caixa de diálogo Configurações avançadas do site. Na seção SSH, escolha Autenticação.
-
Em Arquivo da chave privada, procure e selecione o arquivo de chave privada SSH no seu sistema de arquivos.
Se o WinSCP oferecer a conversão da sua chave privada SSH para o formato PPK, escolha OK.
-
Escolha OK para retornar à caixa de diálogo Login e escolha Salvar.
-
Na caixa de diálogo Salvar sessão como site, escolha OK para concluir a configuração da conexão.
-
Na caixa de diálogo Login, escolha Ferramentas e, em seguida, escolha Preferências.
-
Na caixa de diálogo Preferências, em Transferir, escolha Resistência.
Para a opção Habilitar transferência resume/transfer para nome de arquivo temporário para, escolha Desabilitar.
Importante
Se você deixar essa opção ativada, ela aumentará os custos de upload, diminuindo substancialmente o desempenho do upload. Isso também pode levar a falhas no upload de arquivos grandes.
-
Em Transferir, escolha Segundo plano e desmarque a caixa de seleção Usar várias conexões para uma única transferência.
Dica: se você deixar essa opção selecionada, os carregamentos de arquivos grandes podem falhar de forma imprevisível. Por exemplo, uploads órfãos de várias partes que incorrem em cobranças do Amazon S3 podem ser criados. A corrupção silenciosa de dados também pode ocorrer.
-
Realize a transferência do seu arquivo.
Você pode usar drag-and-drop métodos para copiar arquivos entre as janelas de destino e de origem. Você pode usar os ícones da barra de ferramentas para fazer upload/download, excluir, editar ou modificar as propriedades dos arquivos no WinSCP.
nota
Essa observação não se aplica se você estiver usando o Amazon EFS para armazenamento.
Comandos que tentam alterar atributos de arquivos remotos, incluindo registros de data/hora, não são compatíveis com sistemas de armazenamento de objetos, como o Amazon S3. Portanto, se você estiver usando o Amazon S3 para armazenamento, certifique-se de desativar as configurações de marcação de tempo do WinSCP (ou use o SetStatOption conforme descrito em Evitar erros setstat) antes de realizar transferências de arquivos. Para isso, na caixa de diálogo Configurações de transferência do WinSCP, desabilite a opção de upload Definir permissões e a opção comum Preservar marcação de tempo.
Usar o Cyberduck
Use as instruções a seguir para transferir arquivos a partir da linha de comando usando o Cyberduck.
Para transferir arquivos AWS Transfer Family usando o Cyberduck
-
Abra o cliente Cyberduck.
-
Escolha Abrir conexão.
-
Na caixa de diálogo Abrir conexão, escolha um protocolo: SFTP (SSH File Transfer Protocol), FTP-SSL (AUTH TLS explícito) ou FTP (File Transfer Protocol).
-
Em Nome do servidor, insira o endpoint do servidor. O endpoint do servidor está localizado na página de Detalhes do servidor. Para obter mais informações, consulte Exibir detalhes do servidor SFTP, FTPS e FTP.
Se seu servidor usa um endpoint do VPC, consulte Encontre seu endpoint da Amazon VPC.
-
Em Número da porta, digite o seguinte:
-
22para SFTP -
21para FTP/FTPS
-
-
Em Nome do usuário, insira o nome do usuário que você criou no Gerenciando usuários para endpoints de servidor.
-
Se SFTP estiver selecionado, em Chave privada SSH, escolha ou insira a chave privada SSH.
-
Selecione Conectar.
-
Realize a transferência do seu arquivo.
Dependendo de onde estão seus arquivos, siga um destes procedimentos:
-
Em seu diretório local (a origem), escolha os arquivos que você deseja transferir e arraste e solte-os no diretório do Amazon S3 (o destino).
-
No diretório do Amazon S3 (a origem), escolha os arquivos que você deseja transferir e arraste e solte-os no seu diretório local (o destino).
-
Use FileZilla
Use as instruções a seguir para transferir arquivos usando FileZilla.
FileZilla Para configurar uma transferência de arquivos
-
Abra o FileZilla cliente.
-
Escolha Arquivo e, em seguida, selecione Gerenciador de sites.
-
Na caixa de diálogo Gerenciador de sites, escolha Novo site.
-
Na guia Geral, em Protocolo, escolha um protocolo: SFTP ou FTP.
Se você escolheu FTP, em Criptografia, selecione uma das seguintes opções:
-
Usar somente FTP simples (sem segurança) — para FTP
-
Usar FTP explícito sobre TLS, se disponível — para FTPS
-
-
Em Nome do host, insira o protocolo que você está usando, seguido pelo endpoint do servidor. O endpoint do servidor está localizado na página de Detalhes do servidor. Para obter mais informações, consulte Exibir detalhes do servidor SFTP, FTPS e FTP.
-
Se você estiver usando SFTP, digite:
sftp://hostname -
Se você estiver usando FTPS, digite:
ftps://hostname
Certifique-se de
hostnamesubstituir pelo endpoint real do servidor.Se seu servidor usa um endpoint do VPC, consulte Encontre seu endpoint da Amazon VPC.
-
-
Em Número da porta, digite o seguinte:
-
22para SFTP -
21para FTP/FTPS
-
-
Se SFTP estiver selecionado, em Tipo de logon, escolha Arquivo de chave.
Em Arquivo de chave, escolha ou insira a chave privada SSH.
-
Em Usuário, insira o nome do usuário que você criou no Gerenciando usuários para endpoints de servidor.
-
Selecione Conectar.
-
Realize a transferência do seu arquivo.
nota
Se você interromper uma transferência de arquivo em andamento, AWS Transfer Family poderá gravar um objeto parcial em seu bucket do Amazon S3. Se você interromper um upload, verifique se o tamanho do arquivo no bucket do S3 corresponde ao tamanho do arquivo do objeto de origem antes de continuar.
Usar um cliente Perl
Se você usa o cliente NET::SFTP::Foreign perl, você deve definir queue_size o. 1 Por exemplo:
my $sftp =
Net::SFTP::Foreign->new('user@s-12345.server.transfer.us-east-2.amazonaws.com',
queue_size => 1);
nota
Essa solução alternativa é necessária para revisões de Net::SFTP::Foreign anteriores à 1.92.02.
Use o LFTP
O LFTP é um cliente FTP gratuito que permite aos usuários realizar transferências de arquivos por meio da interface de linha de comando da maioria das máquinas Linux.
Para downloads de arquivos grandes, o LFTP tem um problema conhecido com pacotes fora de ordem, fazendo com que a transferência do arquivo falhe.
Processamento pós upload
Você pode visualizar informações de processamento pós-upload, incluindo metadados de objetos do Amazon S3 e notificações de eventos.
Metadados de objetos do Amazon S3
Como parte dos metadados do seu objeto, você vê uma chave chamada x-amz-meta-user-agent cujo valor é AWSTransfer e x-amz-meta-user-agent-id cujo valor é username@server-id. O username é o usuário do Transfer Family que fez o upload do arquivo e o server-id é o servidor usado para o upload. Essas informações podem ser acessadas usando a HeadObjectoperação no objeto S3 dentro da função Lambda.
Notificações de eventos do Amazon S3
Quando um objeto é carregado em seu bucket do S3 usando Transfer Family, o RoleSessionName está contido no campo Solicitante na estrutura de notificação de eventos do S3 como [AWS:Role Unique
Identifier]/username.sessionid@server-id. Por exemplo, a seguir está o conteúdo de um campo de exemplo de Solicitante de um log de acesso do S3 para um arquivo que foi copiado para o bucket do S3.
arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id
No campo Solicitante acima, ele mostra o perfil do IAM chamado IamRoleName. Para obter mais informações sobre a configuração de notificações de eventos do S3, consulte Configurar notificações de eventos do Amazon S3 no Guia do desenvolvedor do Amazon Simple Storage Service. Para obter mais informações sobre identificadores exclusivos de funções AWS Identity and Access Management (IAM), consulte Identificadores exclusivos no Guia do AWS Identity and Access Management usuário.
Mensagens SFTP
Esta seção descreve as mensagens do lado do cliente que você pode receber durante ou após a transferência do arquivo SFTP ao usar um servidor Transfer Family. Para obter mais informações sobre qualquer evento SFTP, verifique os registros do cliente SFTP. Você pode usar essas informações para solucionar quaisquer erros ou encaminhá-las à sua equipe de rede para obter ajuda na identificação do problema.
| Atividade | Description |
|---|---|
| FALHA DE AUTENTICAÇÃO | O usuário falhou na autenticação. Isso pode ser qualquer tipo de falha de um provedor de identidade personalizado ou usuário gerenciado pelo serviço. Os detalhes do evento ajudam a esclarecer a causa raiz da falha. |
| CLOSE | Indica que um arquivo ou diretório aberto foi fechado com sucesso. |
| CONECTADO/DESCONECTADO | Indica sucesso e desconexões normais da conexão. |
| CRIAR_LINK SIMBÓLICO | Um link simbólico foi criado (com sucesso ou sem sucesso). |
| DELETE | Um arquivo foi excluído (com sucesso ou sem sucesso). |
| ERRO | Um erro geral e inesperado. A descrição associada contém informações que podem ajudar você ou seus administradores de rede a identificar o problema específico. |
| RAZÃO_DE_SAÍDA | Emitido quando um erro inesperado causou o encerramento da sua sessão de SFTP. A mensagem associada ao evento descreve a causa. |
| MKDIR | Um diretório foi criado (com sucesso ou sem sucesso). |
| OPEN | Um arquivo foi aberto para leitura ou gravação (com sucesso ou sem sucesso) |
| FECHAMENTO_PARCIAL | O cliente se desconectou do servidor enquanto um arquivo ainda estava aberto, sem a mensagem CLOSE recebida. O Transfer Family armazena a parte recebida do arquivo (que na verdade pode ser o arquivo completo) e emite o evento PARTIAL_CLOSE para alertar o cliente sobre o problema. A integração de fluxos de trabalho também recebe um onPartialClose evento para tratar o arquivo de forma adequada. |
| RENAME | Um arquivo foi renomeado (com sucesso ou sem sucesso) |
| RMDIR | Um diretório foi excluído (com sucesso ou sem sucesso) |
| SETSTAT |
Os atributos de um arquivo são alterados (com ou sem sucesso). notaO Transfer Family não oferece suporte ao SETSTAT se você estiver usando o Amazon S3 para armazenamento. A Evitar erros setstat seção fornece detalhes sobre como evitar |
| FALHA NO RESUMO DO TLS | O servidor está configurado para impor a retomada da sessão TLS e o cliente não oferece suporte a ela. |