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.
Temas
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.
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 notaNo 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
-
Diríjase a la página de detalles de su servidor.
-
En el panel de detalles del punto final, selecciona VPC.
En el VPC panel de Amazon, selecciona el ID del VPC punto de conexión.
-
En la lista de DNSnombres, el punto final de tu servidor es el primero de la lista.
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
oUpdateServer
API, usa laProtocolDetails
opciónSetStatOption
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
-
En Linux, macOS o Windows abra un terminal de comandos.
-
En el símbolo del sistema, escriba el comando siguiente:
sftp -i
transfer-key
sftp_user
@service_endpoint
En el comando anterior,
es el nombre de usuario ysftp_user
la clave SSH privada. Aquí,transfer-key
es el punto final del servidor, tal como se muestra en la AWS Transfer Family consola del servidor seleccionado.service_endpoint
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
. -
(Opcional) Para ver el directorio de inicio del usuario, introduzca el siguiente comando en la línea de comandos
sftp
:pwd
-
Para cargar un archivo desde su sistema de archivos al servidor de Transfer Family, utilice el comando
put
. Por ejemplo, para cargarhello.txt
(suponiendo que el archivo esté en el directorio actual del sistema de archivos), ejecute el siguiente comando en la línea de comandossftp
: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
-
Abre el SCP cliente Win.
-
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
-
-
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.
-
En el número de puerto, introduzca lo siguiente:
-
22
para SFTP -
21
paraFTP/FTPS
-
-
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:
-
Seleccione Avanzado para abrir el cuadro de diálogo Configuración avanzada del sitio. En la SSHsección, elija Autenticación.
-
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.
-
Elija Aceptar para volver al cuadro de diálogo Iniciar sesión y allí elija Guardar.
-
En el cuadro de diálogo Guardar sitio, elija Aceptar para completar la configuración de la conexión.
-
En el cuadro de diálogo de inicio de sesión, elija Herramientas y, a continuación, Preferencias.
-
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.
-
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.
-
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
-
Abra el cliente de Cyberduck
. -
Elija Abrir conexión.
-
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).
-
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.
-
En el número de puerto, introduzca lo siguiente:
-
22
para SFTP -
21
paraFTP/FTPS
-
-
En Usuario, escriba el nombre del usuario que creó en Administración de usuarios para puntos finales de servidor.
-
Si SFTP está seleccionada, en Clave SSH privada, elija o introduzca la clave SSH privada.
-
Elija Conectar.
-
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
-
Abre el FileZilla cliente.
-
Elija Archivo y, a continuación, Administrador del sitio.
-
En el cuadro de diálogo del administrador del sitio, elija Nuevo sitio.
-
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
-
-
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. -
-
En el número de puerto, introduzca lo siguiente:
-
22
para SFTP -
21
paraFTP/FTPS
-
-
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.
-
En Usuario, escriba el nombre del usuario que creó en Administración de usuarios para puntos finales de servidor.
-
Elija Conectar.
-
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.