Transferencia de archivos a través de un punto de conexión mediante un cliente - AWS Transfer Family

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Transferencia de archivos a través de un punto de conexión mediante un cliente

Los archivos se transfieren a través del AWS Transfer Family servicio especificando la operación de transferencia en un cliente. AWS Transfer Family admite los siguientes clientes:

  • Admitimos la versión 3 del SFTP protocolo.

  • Abierto SSH (macOS y Linux)

    nota

    Este cliente solo funciona con servidores que estén habilitados para el Protocolo de transferencia de archivos Secure Shell (SSH) (SFTP).

  • Win SCP (solo para Microsoft Windows)

  • Cyberduck (Windows, macOS y Linux)

  • FileZilla (Windows, macOS y Linux)

Las limitaciones siguientes se aplican a cada cliente:

  • El número máximo de SFTP sesiones simultáneas y multiplexadas por conexión es de 10.

  • Amazon S3 y Amazon EFS (debido al NFSv4 protocolo) requieren que los nombres de los archivos estén codificados en UTF -8. El uso de una codificación diferente puede provocar resultados inesperados. Para Amazon S3, consulte las directrices de nomenclatura de claves de objetos.

  • Para el protocolo de transferencia de archivos over SSL (FTPS), solo se admite el modo explícito. El modo implícito no es compatible.

  • Para el Protocolo de transferencia de archivos (FTP) yFTPS, solo se admite el modo pasivo.

  • Para FTP yFTPS, solo se admite el STREAM modo.

  • Para FTP yFTPS, solo se admite el modo imagen/binario.

  • Para FTP yFTPS, TLS - PROT C (sin protección) TLS para la conexión de datos es el valor predeterminado, pero PROT C no es compatible con el protocolo. AWS Transfer Family FTPS Por lo tantoFTPS, debe emitir PROT P para que se acepte su operación de datos.

  • Si utiliza Amazon S3 para el almacenamiento de su servidor y si su cliente incluye la opción de utilizar varias conexiones para una sola transferencia, asegúrese de inhabilitarla. De lo contrario, las cargas de archivos grandes pueden fallar de forma impredecible. Ten en cuenta que si utilizas Amazon EFS como servidor de almacenamiento, EFS admite múltiples conexiones para una sola transferencia.

La siguiente es una lista de los comandos disponibles para FTP yFTPS:

Comandos disponibles

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 no se admite.

Por el momentoSFTP, las siguientes operaciones no se admiten para los usuarios que utilizan el directorio principal lógico en servidores que utilizan Amazon Elastic File System (AmazonEFS).

Comandos no compatibles SFTP

SSH_FXP_READLINK

SSH_FXP_SYMLINK

SSH_ FXP _ STAT cuando el archivo solicitado es un enlace simbólico

SSH_ FXP _ REALPATH cuando la ruta solicitada contiene algún componente de enlace simbólico

Generación de un par de claves público-privadas

Para poder transferir un archivo, debe disponer de un par de claves público-privadas. Si no ha generado previamente un par de claves, consulte Genere SSH claves para los usuarios gestionados por el servicio.

Comandos disponibles SFTP/FTPS/FTP

En la siguiente tabla se describen los comandos disponibles para AWS Transfer Family SFTPFTPS, y FTP los protocolos.

nota

En la tabla se mencionan los archivos y directorios de Amazon S3, que solo admite buckets y objetos: no hay jerarquía. Sin embargo, puede usar prefijos en los nombres de las claves de los objetos para dar a entender una jerarquía y organizar los datos de forma similar a las carpetas. Este comportamiento se describe en Trabajar con metadatos de objetos de la Guía del usuario de Amazon Simple Storage Service.

SFTP/FTPS/FTPComandos
Comando Amazon S3 Amazon EFS
cd Soportado Soportado
chgrp No compatible Compatible (solo root o owner)
chmod No compatible Compatible (solo root)
chmtime No compatible Compatible
chown No compatible Compatible (solo root)
get Compatible Compatible (incluida la resolución de enlaces simbólicos)
ln -s No compatible Soportado
ls/dir Soportado Soportado
mkdir Soportado Soportado
put Soportado Soportado
pwd Soportado Soportado
rename

Solo compatible con archivos

Compatible
nota

No se admite el cambio de nombre que sobrescriba un archivo o directorio existente.

rm Soportado Soportado
rmdir Compatible (solo directorios vacíos) Soportado
version Soportado Soportado

Encuentra tu VPC punto de conexión de Amazon

Si el tipo de punto final de su servidor Transfer Family esVPC, no es fácil identificar el punto final que se va a utilizar para transferir archivos. En este caso, utiliza el siguiente procedimiento para encontrar tu VPC punto de conexión de Amazon.

Encuentra tu VPC punto de conexión de Amazon
  1. Diríjase a la página de detalles de su servidor.

  2. En el panel de detalles del punto final, selecciona VPC.

    La página de detalles del servidor de consola Transfer Family, que muestra los detalles del punto final de un VPC servidor.
  3. En el VPC panel de Amazon, selecciona el ID del VPC punto de conexión.

  4. En la lista de DNSnombres, el punto final de tu servidor es el primero de la lista.

    La página de puntos de enlace de la VPC consola de Amazon, que muestra los DNSnombres de un punto final seleccionado.

Evite errores setstat

Algunos clientes de transferencia de SFTP archivos pueden intentar cambiar los atributos de los archivos remotos, incluida la marca de tiempo y los permisos, mediante comandos, por ejemplo, SETSTAT al cargar el archivo. Sin embargo, estos comandos no son compatibles con los sistemas de almacenamiento de objetos, como Amazon S3. Debido a esta incompatibilidad, la carga de archivos desde estos clientes puede provocar errores incluso si el archivo se carga correctamente.

  • Cuando llames al CreateServer o UpdateServerAPI, usa la ProtocolDetails opción SetStatOption para ignorar el error que se genera cuando el cliente intenta usarlo SETSTAT en un archivo que estás cargando en un bucket de S3.

  • Establezca el valor en ENABLE_NO_OP para que el servidor Transfer Family ignore el SETSTAT comando y cargue los archivos sin necesidad de realizar ningún cambio en el SFTP cliente.

  • Tenga en cuenta que, si bien la SetStatOption ENABLE_NO_OP configuración ignora el error, genera una entrada de registro en CloudWatch los registros para que pueda determinar cuándo el cliente está realizando una SETSTAT llamada.

Para API obtener información detallada sobre esta opción, consulte ProtocolDetails.

Utilice Abrir SSH

Siga las instrucciones que aparecen a continuación para transferir archivos desde la línea de comandos mediante AbrirSSH.

nota

Este cliente solo funciona con un servidor SFTP habilitado.

Para transferir archivos AWS Transfer Family mediante la utilidad de línea de SSH comandos Open
  1. En Linux, macOS o Windows abra un terminal de comandos.

  2. En el símbolo del sistema, escriba el comando siguiente:

    sftp -i transfer-key sftp_user@service_endpoint

    En el comando anterior, sftp_user es el nombre de usuario y transfer-key la clave SSH privada. Aquí, service_endpoint es el punto final del servidor, tal como se muestra en la AWS Transfer Family consola del servidor seleccionado.

    nota

    Este comando usa la configuración que se encuentra en el ssh_config archivo predeterminado. A menos que haya editado este archivo anteriormente, SFTP utiliza el puerto 22. Puede especificar un puerto diferente (por ejemplo, 2222) añadiendo un -P indicador al comando, de la siguiente manera.

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

    Como alternativa, si siempre quieres usar el puerto 2222, puedes actualizar tu puerto predeterminado en el ssh_config archivo.

    Debe aparecer el símbolo del sistema sftp.

  3. (Opcional) Para ver el directorio de inicio del usuario, introduzca el siguiente comando en la línea de comandos sftp:

    pwd

  4. Para cargar un archivo desde su sistema de archivos al servidor de Transfer Family, utilice el comando put. Por ejemplo, para cargar hello.txt (suponiendo que el archivo esté en el directorio actual del sistema de archivos), ejecute el siguiente comando en la línea de comandos sftp:

    put hello.txt

    Aparecerá un mensaje similar al siguiente para indicar que la transferencia está en curso o que se ha completado.

    Uploading hello.txt to /my-bucket/home/sftp_user/hello.txt

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

nota

Una vez creado el servidor, el DNS servicio de su entorno puede tardar unos minutos en resolver el nombre de host del punto final del servidor.

Utilice Win SCP

Siga las instrucciones que aparecen a continuación para transferir archivos desde la línea de comandos mediante WinSCP.

nota

Si utiliza Win SCP 5.19, puede conectarse directamente a Amazon S3 con sus AWS credenciales y cargar/descargar archivos. Para obtener más información, consulte Conexión al servicio Amazon S3.

Para transferir archivos mediante Win AWS Transfer Family SCP
  1. Abre el SCP cliente Win.

  2. En el cuadro de diálogo de inicio de sesión, en Protocolo de archivos, elija un protocolo: SFTPo FTP.

    Si elige Cifrado FTP, elija una de las siguientes opciones:

    • Sin cifrado para FTP

    • TLS/Cifrado SSL explícito para FTPS

  3. ParaNombre del host, escriba el punto de conexión del servidor. El punto de conexión del servidor se encuentra en la página de Detalles del servidor. Para obtener más información, consulte Ver SFTPFTPS, y detalles FTP del servidor.

    nota

    Si su servidor utiliza un VPC punto final, consulteEncuentra tu VPC punto de conexión de Amazon.

  4. En el número de puerto, introduzca lo siguiente:

    • 22 para SFTP

    • 21paraFTP/FTPS

  5. En Nombre de usuario, introduzca el nombre del usuario que creó para su proveedor de identidad específico.

    nota

    El nombre de usuario debe ser uno de los usuarios que creó o configuró para su proveedor de identidad. AWS Transfer Family proporciona los siguientes proveedores de identidad:

  6. Seleccione Avanzado para abrir el cuadro de diálogo Configuración avanzada del sitio. En la SSHsección, elija Autenticación.

  7. En Archivo de clave privada, busque y seleccione el archivo de clave SSH privada de su sistema de archivos.

    nota

    Si Win SCP ofrece convertir la clave SSH privada al PPK formato, selecciona Aceptar.

  8. Elija Aceptar para volver al cuadro de diálogo Iniciar sesión y allí elija Guardar.

  9. En el cuadro de diálogo Guardar sitio, elija Aceptar para completar la configuración de la conexión.

  10. En el cuadro de diálogo de inicio de sesión, elija Herramientas y, a continuación, Preferencias.

  11. En el cuadro de diálogo de preferencias, casilla de Transfer, elija Endurance.

    En la opción Habilitar la reanudación de la transferencia o la transferencia a un nombre de archivo temporal, seleccione Desactivar.

    nota

    Si dejas esta opción habilitada, aumentarán los costos de carga y disminuirán considerablemente su rendimiento. También puede provocar errores al cargar archivos de gran tamaño.

  12. En Transferir, seleccione Fondo y desactive la casilla Usar varias conexiones para una sola transferencia.

    nota

    Si dejas esta opción seleccionada, las cargas de archivos grandes pueden fallar de forma impredecible. Por ejemplo, se pueden crear cargas multiparte huérfanas que conlleven gastos de Amazon S3. También puede producirse una corrupción silenciosa de los datos.

  13. Ejecute la transferencia de archivos.

    Puede utilizar drag-and-drop métodos para copiar archivos entre la ventana de destino y la de origen. Puede utilizar los iconos de la barra de herramientas para cargar, descargar, eliminar, editar o modificar las propiedades de los archivos en WinSCP.

nota

Esta nota no se aplica si utilizas Amazon EFS para el almacenamiento.

Los comandos que intentan cambiar los atributos de los archivos remotos, incluidas las marcas de tiempo, no son compatibles con los sistemas de almacenamiento de objetos como Amazon S3. Por lo tanto, si utiliza Amazon S3 como almacenamiento, asegúrese de deshabilitar la configuración de SCP marca horaria de Win (o utilícela SetStatOption como se describe enEvite errores setstat) antes de realizar transferencias de archivos. Para ello, en el cuadro de diálogo de configuración de Win SCP Transfer, desactive la opción Establecer permisos de carga y la opción Conservar la marca de tiempo común.

Uso de Cyberduck

Siga las instrucciones indicadas a continuación para transferir archivos desde la línea de comandos mediante Cyberduck.

Para transferir archivos AWS Transfer Family mediante Cyberduck
  1. Abra el cliente de Cyberduck.

  2. Elija Abrir conexión.

  3. En el cuadro de diálogo Abrir conexión, elija un protocolo: SFTP(Protocolo de transferencia de SSH archivos), FTP- SSL (Explícito AUTHTLS) o FTP(Protocolo de transferencia de archivos).

  4. En Servidor, escriba el punto de conexión del servidor. El punto de conexión del servidor se encuentra en la página de Detalles del servidor. Para obtener más información, consulte Ver SFTPFTPS, y detalles FTP del servidor.

    nota

    Si el servidor utiliza un VPC punto final, consulteEncuentra tu VPC punto de conexión de Amazon.

  5. En el número de puerto, introduzca lo siguiente:

    • 22 para SFTP

    • 21paraFTP/FTPS

  6. En Usuario, escriba el nombre del usuario que creó en Administración de usuarios para puntos finales de servidor.

  7. Si SFTP está seleccionada, en Clave SSH privada, elija o introduzca la clave SSH privada.

  8. Elija Conectar.

  9. Ejecute la transferencia de archivos.

    En función del lugar donde se encuentren los archivos, elija entre las acciones siguientes:

    • En el directorio local (el origen), seleccione los archivos que desea transferir, arrástrelos y suéltelos en el directorio de Amazon S3 (el destino).

    • En el directorio de Amazon S3 (el origen), seleccione los archivos que desea transferir, arrástrelos y suéltelos en el directorio local (el destino).

Utilice FileZilla

Siga las instrucciones que aparecen a continuación para transferir archivos utilizando FileZilla.

FileZilla Para configurar una transferencia de archivos
  1. Abre el FileZilla cliente.

  2. Elija Archivo y, a continuación, Administrador del sitio.

  3. En el cuadro de diálogo del administrador del sitio, elija Nuevo sitio.

  4. En la pestaña General, en Protocolo, elija un protocolo: SFTPo FTP.

    Si elige Cifrado FTP, elija una de las siguientes opciones:

    • Utilice únicamente la opción simple FTP (insegura): para FTP

    • Use «explícito» FTP sobre, TLS si está disponible, para FTPS

  5. En el campo Nombre de host, introduzca el protocolo que está utilizando, seguido del punto de conexión del servidor. El punto de conexión del servidor se encuentra en la página de Detalles del servidor. Para obtener más información, consulte Ver SFTPFTPS, y detalles FTP del servidor.

    nota

    Si su servidor usa un VPC punto final, consulteEncuentra tu VPC punto de conexión de Amazon.

    • Si está utilizandoSFTP, introduzca: sftp://hostname

    • Si está utilizandoFTPS, introduzca: ftps://hostname

    Asegúrese de reemplazar hostname con el punto final de su servidor actual.

  6. En el número de puerto, introduzca lo siguiente:

    • 22 para SFTP

    • 21paraFTP/FTPS

  7. Si SFTP está seleccionada, en Tipo de inicio de sesión, elija Archivo clave.

    En Archivo de clave, elija o introduzca la clave SSH privada.

  8. En Usuario, escriba el nombre del usuario que creó en Administración de usuarios para puntos finales de servidor.

  9. Elija Conectar.

  10. Ejecute la transferencia de archivos.

    nota

    Si interrumpe una transferencia de archivos en curso, AWS Transfer Family podría escribir un objeto parcial en su bucket de Amazon S3. Si interrumpe una carga, compruebe que el tamaño del archivo en el bucket de Amazon S3 coincide con el tamaño del objeto original antes de continuar.

Utilice un cliente Perl

Si usa el cliente NET::SFTP::Foreign perl, debe configurar elqueue_size. 1 Por ejemplo:

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

nota

Esta solución alternativa es necesaria para las revisiones de Net::SFTP::Foreign anteriores a 1.92.02.

Procesamiento de carga posterior

Puede ver la información de procesamiento posterior a la carga, incluidos los metadatos de los objetos de Amazon S3 y las notificaciones de eventos.

Metadatos de objeto de Amazon S3

Como parte de los metadatos de su objeto, verá una clave llamada x-amz-meta-user-agent cuyo valor es AWSTransfer y x-amz-meta-user-agent-id cuyo valor es username@server-id. username es el usuario de Transfer Family que cargó el archivo y server-id es el servidor utilizado para la carga. Se puede acceder a esta información mediante la HeadObjectoperación en el objeto S3 dentro de la función Lambda.

Notificaciones de eventos de Amazon S3

Cuando se carga un objeto en su bucket de S3 mediante Transfer Family, RoleSessionName aparece en el campo Solicitante de la estructura de notificaciones de eventos de S3 como [AWS:Role Unique Identifier]/username.sessionid@server-id. Por ejemplo, el siguiente es el contenido de un ejemplo de campo Requester (Solicitante) de un registro de acceso de S3 para un archivo que se copió en el bucket de S3.

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

En el campo Solicitante de arriba, se muestra el IAM rol al que se ha llamadoIamRoleName. Para obtener más información sobre cómo configurar las notificaciones de eventos S3, consulte Configuración de notificaciones de eventos de Amazon S3 en la Guía para desarrolladores de Amazon Simple Storage Service. Para obtener más información sobre los identificadores únicos del rol AWS Identity and Access Management (IAM), consulte Identificadores únicos en la Guía del AWS Identity and Access Management usuario.