对身份认证问题进行故障排除 - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

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

身份验证失败 — 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 对该用户进行身份验证。如果您测试用户的身份提供商,则会收到错误找不到用户组的关联访问权限

解决方案

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

已超出活动目录组限制

描述

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

原因

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

解决方案

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

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

  • 如果您的用例需要超过 100 个群组,请考虑使用自定义身份提供商解决方案,如使用自定义身份提供商简化 Active Directory 身份验证中所述 Amazon 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 上打开 Amazon CloudFormation 控制台。

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

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

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

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

    注意

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

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

连接关闭

描述

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

Connection closed

原因

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

解决方案

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

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

描述

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

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

原因

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

解决方案

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