

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

# 对身份认证问题进行故障排除
<a name="auth-issues"></a>

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

**Topics**
+ [身份验证失败 — SSH/SFTP](#publickey-auth)
+ [托管 AD 领域不匹配问题](#managed-ad-realms-mismatched)
+ [已超出活动目录组限制](#managed-ad-group-limits)
+ [其他身份验证问题](#misc-auth-issues)
+ [对 Amazon API Gateway 问题进行故障排除](#transfer-apigateway)
+ [对测试您的身份提供商进行故障排除](#blank-test-identity-provider)
+ [在网络应用程序中重复亚马逊 S3 存储桶](#webapp-duplicate-buckets)

## 身份验证失败 — SSH/SFTP
<a name="publickey-auth"></a>

**描述**

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

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

**注意**  
如果您使用的是 API Gateway 并收到此错误，请参阅 [身份验证失败次数过多](#auth-failures-sftp)。

**原因**

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

 **解决方案** 

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

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

## 托管 AD 领域不匹配问题
<a name="managed-ad-realms-mismatched"></a>

**描述**

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

**原因**

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

**解决方案**

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

## 已超出活动目录组限制
<a name="managed-ad-group-limits"></a>

**描述**

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

**原因**

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

**解决方案**

以下是两种可能的解决方案：
+ 整合您的 Active Directory 群组以减少所需的总数。
+ 如果您的用例需要超过 100 个群组，请考虑使用自定义身份提供商解决方案，如使用自定义身份提供商[简化 Active Directory 身份验证](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/)中所述 AWS Transfer Family。

## 其他身份验证问题
<a name="misc-auth-issues"></a>

**描述**

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

**原因**

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

 **解决方案** 

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

## 对 Amazon API Gateway 问题进行故障排除
<a name="transfer-apigateway"></a>

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

**Topics**
+ [身份验证失败次数过多](#auth-failures-sftp)
+ [连接关闭](#connection-closed)

### 身份验证失败次数过多
<a name="auth-failures-sftp"></a>

**描述**

当您尝试使用 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](https://console.aws.amazon.com/cloudformation/) ion 上打开 CloudFormation 控制台。

1. 在左侧导航窗格中，选择**堆栈**。

1. 在**堆栈**列表中，选择您的堆栈，然后选择**参数**选项卡。

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

1. 替换为**UserRoleArn**具有足够权限访问您的 Transfer Family 服务器的角色 ARN。
**注意**  
要授予必要的权限，您也可以将 `AmazonAPIGatewayAdministrator` 和 `AmazonS3FullAccess` 托管策略添加到角色中。

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

### 连接关闭
<a name="connection-closed"></a>

**描述**

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

```
Connection closed
```

**原因**

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

**解决方案**

确保服务器的日志记录角色与 Transfer Family 具有信任关系。有关更多信息，请参阅 [建立信任关系](requirements-roles.md#establish-trust-transfer)。

## 对测试您的身份提供商进行故障排除
<a name="blank-test-identity-provider"></a>

**描述**

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

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

**原因**

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

**解决方案**

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

## 在网络应用程序中重复亚马逊 S3 存储桶
<a name="webapp-duplicate-buckets"></a>

**描述**

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

**原因**

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

**解决方案**

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