

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

# 创建启用 SFTP 的服务器
<a name="create-server-sftp"></a>

Secure Shell (SSH) 文件传输协议 (SFTP) 是一种用于通过互联网安全传输数据的网络协议。该协议支持 SSH 的完整安全和身份验证功能。它被广泛应用于金融服务、医疗保健、零售和广告等各行各业的业务合作伙伴之间交换数据，包括敏感信息。

**请注意以下几点**
+ Transfer Family 的 SFTP 服务器通过端口 22 运行。对于 VPC 托管的端点，SFTP Transfer Family 服务器也可以通过端口 2222、2223 或 22000 运行。有关更多信息，请参阅 [在虚拟私有云中创建服务器](create-server-in-vpc.md)。
+ 公共端点无法通过安全组限制流量。要将安全组与 Transfer Family 服务器配合使用，您必须将服务器的终端节点托管在虚拟私有云 (VPC) 内，如中所述[在虚拟私有云中创建服务器](create-server-in-vpc.md)。

**另请参阅**
+ 我们提供了创建 SFTP Transfer Family 服务器的 AWS CDK 示例。该示例使用 TypeScript，可 GitHub [在此处](https://github.com/aws-samples/aws-cdk-examples/tree/master/typescript/aws-transfer-sftp-server)找到。
+ 有关如何在 VPC 内部署 Transfer Family 服务器的演练，请参阅[使用 IP 允许列表保护您的 AWS Transfer Family 服务器](https://aws.amazon.com/blogs//storage/use-ip-allow-list-to-secure-your-aws-transfer-for-sftp-servers/)。

**创建启用 SFTP 的服务器**

1. 打开 AWS Transfer Family 控制台，从导航窗格中选择 “**服务器**”，然后选择 “**创建服务器**”。[https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/)

1. 在**选择协议**中，选择 **SFTP**，然后选择**下一步**。

1. 在**选择身份提供商**中，选择要用于管理用户访问权限的身份提供商。您有以下选项：
   + **服务托管**-您将用户身份和密钥存储在中 AWS Transfer Family。
   + **AWS Directory Service for Microsoft Active Directory**— 您提供用于访问端点的 Directory Service 目录。这样，您就可以使用存储在 Activity Directory 中的凭证对用户进行身份验证。要了解有关与 AWS Managed Microsoft AD 身份提供商合作的更多信息，请参阅[使用微软 Active Directory 的 AWS 目录服务](directory-services-users.md)。
**注意**  
 不支持跨账户目录和共享目录。 AWS Managed Microsoft AD
要设置以 Directory Service 作为身份提供者的服务器，您需要添加一些 Directory Service 权限。有关更多信息，请参阅 [在你开始使用之前 AWS Directory Service for Microsoft Active Directory](directory-services-users.md#managed-ad-prereq)。
   + **自定义身份提供商** — 请选择以下任一选项：
     + ** AWS Lambda 用于连接您的身份提供商**-您可以使用由 Lambda 函数支持的现有身份提供商。您提供 Lambda 函数名称。有关更多信息，请参阅 [AWS Lambda 用于整合您的身份提供商](custom-lambda-idp.md)。
     + **使用 Amazon API Gateway 连接您的身份提供商** — 您可以创建由 Lambda 函数支持的 API 网关方法以用作身份提供商。您提供一个 Amazon API Gateway URL 和一个调用角色。有关更多信息，请参阅 [使用 Amazon API Gateway 整合您的身份提供程序](authentication-api-gateway.md)。  
![\[在选择身份提供商控制台部分，已选择自定义身份提供商。还选择了默认值，即用户可以使用其密码或密钥进行身份验证。\]](http://docs.aws.amazon.com/zh_cn/transfer/latest/userguide/images/custom-lambda-console.png)

1. 选择**下一步**。

1. 在**选择端点**中，执行以下操作：

   1. 对于**端点类型**，选择**可公开访问**的端点类型。有关 **VPC 托管**的端点，请参阅 [在虚拟私有云中创建服务器](create-server-in-vpc.md)。

   1.  对于 **IP 地址类型**，选择 **IPv4**（默认）以实现向后兼容，或者选择 Dual-**Stack** 以同时启用两者 IPv4 以及与终 IPv6端节点的连接。
**注意**  
双栈模式允许你的 Transfer Family 端点 IPv4 与两个 IPv6 已启用的客户端通信。这使您无需同时切换所有系统即可逐步从 IPv4 IPv6 基于系统的过渡。

   1. （可选）对于**自定义主机名**，选择**无**。

      您将获得由提供的服务器主机名 AWS Transfer Family。服务器主机名使用格式 `serverId.server.transfer.regionId.amazonaws.com`。

      对于自定义主机名，您可以为服务器端点指定自定义别名。要了解有关使用自定义主机名的更多信息，请参阅[使用自定义主机名](requirements-dns.md)。

   1. （可选）对于**启用 FIPS**，请选中**启用 FIPS 端点**复选框以确保端点符合联邦信息处理标准 (FIPS)。
**注意**  
启用 FIPS 的端点仅在北美 AWS 地区可用。有关可用区域，请参阅 *AWS 一般参考* 中的 [AWS Transfer Family 端点和限额](https://docs.aws.amazon.com/general/latest/gr/transfer-service.html)。有关 FIPS 的更多信息，请参阅[联邦信息处理标准 (FIPS) 140-2](https://aws.amazon.com/compliance/fips/)。

   1. 选择**下一步**。

1. 在 **“选择域**” 页面上，选择要用于通过所选协议 AWS 存储和访问数据的存储服务：
   + 选择 **Amazon S3**，通过所选协议将您的文件作为对象存储和访问。
   + 选择 **Amazon EFS**，通过所选协议在 Amazon EFS 文件系统中存储和访问您的文件。

   选择**下一步**。

1. 在**配置其他详细信息**中，执行以下操作：

   1. 对于日志记录，指定现有日志组或创建新日志组（默认选项）。如果您选择现有日志组，则必须选择与您的日志组关联的日志组 AWS 账户。  
![\[在创建服务器向导中配置其他详细信息的日志记录窗格。选择“选择现有日志组”。\]](http://docs.aws.amazon.com/zh_cn/transfer/latest/userguide/images/logging-server-choose-existing-group.png)

      如果选择 “**创建日志组**”，则 CloudWatch 控制台 ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) 将打开 “**创建日志组**” 页面。有关详细信息，请参阅[在 Log CloudWatch s 中创建日志组](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group)。

   1.  （可选）对于**托管工作流程**，选择 Tr IDs ansfer Family 在执行工作流程时应担任的工作流程（和相应的角色）。您可以选择一个工作流程在完成上传后执行，选择另一个工作流程在部分上传时执行。要了解有关使用托管工作流程处理文件的更多信息，请参阅 [AWS Transfer Family 托管工作流程](transfer-workflows.md)。  
![\[托管工作流程控制台部分。\]](http://docs.aws.amazon.com/zh_cn/transfer/latest/userguide/images/workflows-addtoserver.png)

   1. 对于**加密算法选项**，请选择包含允许服务器使用的加密算法的安全策略。我们的最新安全策略是默认策略：有关详细信息，请参阅[AWS Transfer Family 服务器的安全策略](security-policies.md)。

   1. （可选）在**服务器主机密钥**中，输入一个 RSA ED25519、或 ECDSA 私钥，当客户端通过 SFTP 连接到服务器时，该私钥将用于识别您的服务器。您还可以添加描述以区分多个主机密钥。

      创建服务器后，您可以添加其他主机密钥。如果您想轮换密钥或想要使用不同类型的密钥（例如 RSA 密钥和 ECDSA 密钥），则拥有多个主机密钥非常有用。
**注意**  
**服务器主机密钥**部分仅用于从启用 SFTP 的现有服务器迁移用户。

   1. （可选）对于**标签**，在**密钥**和**值**中，输入一个或多个标签作为键值对，然后选择**添加标签**。

   1. 选择**下一步**。

   1. 您可以优化 Amazon S3 目录的性能。例如，假设您进入主目录，并且有 10,000 个子目录。换句话说，您的亚马逊 S3 存储桶有 10,000 个文件夹。在这种情况下，如果您运行 `ls` (list) 命令，则列表操作需要六到八分钟。但是，如果您优化目录，则此操作只需要几秒钟。

      使用控制台创建服务器时，默认情况下会启用优化的目录。如果您使用 API 创建服务器，则默认情况下不启用此行为。  
![\[优化的目录控制台部分。\]](http://docs.aws.amazon.com/zh_cn/transfer/latest/userguide/images/optimized-directories.png)

   1. （可选）配置 AWS Transfer Family 服务器以向最终用户显示自定义消息，例如组织政策或条款和条件。对于**显示横幅**，在**预身份验证显示横幅**文本框中，输入要在用户进行身份验证之前向其显示的短信。

   1. （可选）您可以配置以下其他选项。
      + **SetStat 选项**：启用此选项可忽略客户端尝试对您上传到 Amazon S3 存储桶的文件使用`SETSTAT`时生成的错误。有关更多详细信息，请参阅中的`SetStatOption`文档[ProtocolDetails](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ProtocolDetails.html)。
      + **TLS 会话恢复**：仅当您启用 FTPS 作为该服务器的协议之一时，此选项才可用。
      + **被动 IP**：仅当您启用 FTPS 或 FTP 作为该服务器的协议之一时，此选项才可用。  
![\[服务器详细信息页面的其他选项屏幕。\]](http://docs.aws.amazon.com/zh_cn/transfer/latest/userguide/images/create-server-configure-additional-items-sftp.png)

1. 在**审核和创建**页面上，审核您的选择。
   + 如果要编辑其中任何一个，请选择该步骤旁边的**编辑**。
**注意**  
在选择编辑的步骤之后，您必须审核每个步骤。
   + 如果没有任何更改，请选择**创建服务器**来创建您的服务器。您将转至如下所示的**服务器**页面，其中列出了您的新服务器。

您的新服务器状态更改为**在线**可能需要几分钟时间。此时，您的服务器可以执行文件操作，但您需要先创建一个用户。有关创建用户的详细信息，请参阅[管理服务器端点的用户](create-user.md)。