对身份认证问题进行故障排除 - AWS Transfer Family

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对身份认证问题进行故障排除

本节介绍以下身份验证问题的可能解决方案。

身份验证失败 — SSH/SFTP

描述

当您尝试使用 Secure Shell (SSH) 文件传输协议 (SFTP) 连接到服务器时,会收到类似于以下内容的消息:

Received disconnect from 3.130.115.105 port 22:2: Too many authentication failures Authentication failed.
注意

如果您使用的是 API Gateway 并收到此错误,请参阅 身份验证失败次数过多

原因

您尚未为用户添加 RSA 密钥对,因此必须改用密码进行身份验证。

解决方案

运行该 sftp 命令时,请指定 -o PubkeyAuthentication=no 选项。此选项会强制系统请求您的密码。例如:

sftp -o PubkeyAuthentication=no sftp-user@server-id.server.transfer.region-id.amazonaws.com

托管 AD 领域不匹配问题

描述

用户的领域和他们的组领域必须匹配。它们必须都在默认领域中,或者它们都必须位于可信领域。

原因

如果用户及其组不匹配,则无法通过 Transfer Family 对该用户进行身份验证。如果您测试用户的身份提供商,则会收到错误找不到用户组的关联访问权限

解决方案

引用用户领域中与组领域(默认或可信)相匹配的组。

已超出活动目录组限制

描述

尝试向 AWS Transfer Family 服务器添加更多 Active Directory 群组时,您会收到一条错误消息,指出您已达到允许的最大群组数。

原因

AWS Transfer Family 默认限制为每台服务器 100 个 Active Directory 组。

解决方案

以下是两种可能的解决方案:

  • 整合您的 Active Directory 群组以减少所需的总数。

  • 如果您的用例需要超过 100 个群组,请考虑使用自定义身份提供商解决方案,如使用自定义身份提供商简化 Active Directory 身份验证中所述 AWS Transfer Family。

其他身份验证问题

描述

您收到身份验证错误,但其他故障排除均无效

原因

您可能已经为包含前导或尾部斜杠 (/) 的逻辑目录指定了目标。

解决方案

更新您的逻辑目录目标,确保它以斜杠开头,并且不包含尾部斜杠。例如,/amzn-s3-demo-bucket/images可以接受amzn-s3-demo-bucket/images,但不/amzn-s3-demo-bucket/images/是。

对 Amazon API Gateway 问题进行故障排除

本节介绍以下 API Gateway 问题的可能解决方案。

身份验证失败次数过多

描述

当您尝试使用 Secure Shell (SSH) 文件传输协议 (SFTP) 连接到服务器时,会出现以下错误:

Received disconnect from 3.15.127.197 port 22:2: Too many authentication failures Authentication failed. Couldn't read packet: Connection reset by peer

原因

您可能输入了错误的用户密码。请重试输入正确的密码。

如果密码正确,则问题可能是由角色 Amazon 资源名称 (ARN) 无效引起的。要确认这是问题所在,请测试服务器的身份提供商。如果您看到类似于以下内容的响应,则角色 ARN 仅为占位符,如全部为零的角色 ID 值所示:

{ "Response": "{\"Role\": \"arn:aws:iam::000000000000:role/MyUserS3AccessRole\",\"HomeDirectory\": \"/\"}", "StatusCode": 200, "Message": "", "Url": "https://api-gateway-ID.execute-api.us-east-1.amazonaws.com/prod/servers/transfer-server-ID/users/myuser/config" }

解决方案

将占位符角色 ARN 替换为有权访问服务器的实际角色。

更新角色
  1. https://console.aws.amazon.com/cloudformat ion 上打开 AWS CloudFormation 控制台。

  2. 在左侧导航窗格中,选择堆栈

  3. 堆栈列表中,选择您的堆栈,然后选择参数选项卡。

  4. 选择更新。在更新堆栈页面上,选择使用当前模板,然后选择下一步

  5. 替换为UserRoleArn具有足够权限访问您的 Transfer Family 服务器的角色 ARN。

    注意

    要授予必要的权限,您也可以将 AmazonAPIGatewayAdministratorAmazonS3FullAccess 托管策略添加到角色中。

  6. 选择下一步,然后再次选择下一步。在 “查看 stack” 页面上,选择 “我确认 AWS CloudFormation 可能会创建 IAM 资源”,然后选择 “更新堆栈”。

连接关闭

描述

当您尝试使用 Secure Shell (SSH) 文件传输协议 (SFTP) 连接到服务器时,会出现以下错误:

Connection closed

原因

造成此问题的一个可能原因是,您的亚马逊 CloudWatch 日志角色与 Transfer Family 没有信任关系。

解决方案

确保服务器的日志记录角色与 Transfer Family 具有信任关系。有关更多信息,请参阅 建立信任关系

对测试您的身份提供商进行故障排除

描述

如果您使用控制台或 TestIdentityProvider API 操作测试身份提供商,则该Response字段为空。例如:

{ "Response": "{}", "StatusCode": 200, "Message": "" }

原因

最可能的原因是用户名或密码不正确导致身份验证失败。

解决方案

确保您使用的是正确的用户凭证,并在必要时更新用户名或密码。

在网络应用程序中重复亚马逊 S3 存储桶

描述

同一个亚马逊 S3 存储桶在 Transfer Family 网络应用程序界面中多次出现。

原因

当用户属于对同一 Amazon S3 存储桶拥有权限的多个 Amazon S3 存储桶的活动目录组时,就会发生这种情况。Web 应用程序列出了与用户的 UID 或 GID 关联的所有顶级授权,包括对同一存储桶位置的重复授权。

解决方案

为防止重复上架商品,请合并授权,这样每位用户在每个 Amazon S3 地点只能获得一次授权。查看您的 Amazon S3 访问授权配置,删除不同活动目录组中对同一存储桶的冗余授权。