本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对身份认证问题进行故障排除
本节介绍以下身份验证问题的可能解决方案。
主题
身份验证失败 — 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=nosftp-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 替换为有权访问服务器的实际角色。
更新角色
-
在 https://console.aws.amazon.com/cloudformat
ion 上打开 AWS CloudFormation 控制台。 -
在左侧导航窗格中,选择堆栈。
-
在堆栈列表中,选择您的堆栈,然后选择参数选项卡。
-
选择更新。在更新堆栈页面上,选择使用当前模板,然后选择下一步。
-
替换为UserRoleArn具有足够权限访问您的 Transfer Family 服务器的角色 ARN。
注意
要授予必要的权限,您也可以将
AmazonAPIGatewayAdministrator和AmazonS3FullAccess托管策略添加到角色中。 -
选择下一步,然后再次选择下一步。在 “查看
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 访问授权配置,删除不同活动目录组中对同一存储桶的冗余授权。