

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

# 管理启用 SFTP 的服务器的主机密钥
<a name="configuring-servers-change-host-key"></a>

服务器主机密钥是 Transfer Family 服务器使用的私钥，用于向呼叫者提供唯一身份，并保证它是正确的服务器。这种保证是通过调用者的`known_hosts`文件中存在正确的公钥来强制执行的。（该`known_hosts`文件是大多数 SSH 客户端使用的一项标准功能，用于存储您所连接的服务器的公钥。） 您可以通过为服务器运行来检索与您的服务器主机密钥相对应`ssh-keyscan`的公钥。

**重要**  
意外更改服务器的主机密钥会导致中断。根据您的 SFTP 客户端的配置方式，它可能会立即失败，并显示不存在可信主机密钥的消息，或者出现威胁性提示。如果有用于自动连接的脚本，它们很可能也会失败。

默认情况下， AWS Transfer Family 会为启用 SFTP 的服务器生成主机密钥。您可以导入服务器主机密钥以保留主机身份并避免更新客户端信任存储库。 [何时导入主机密钥](#host-key-import-use-cases)列出了您可能想要这样做的几个原因。如果您不提供主机密钥，则会为您生成新的密钥。

AWS Transfer Family 支持多个不同类型的主机密钥（RSA、ECDSA 和 ED25519），以提供与更广泛的客户端主机签名算法的兼容性。**不同的密钥类型支持特定的算法：RSA 密钥启用 rsa-\$1 算法，ECD **SA 密钥启用 ecdsa-\$1** 算法，密钥启用 ed **25519** 算法。 ED25519 **在创建服务器时规划密钥类型，因为在客户端开始与服务器交互之后引入其他密钥类型可能会对某些客户端造成干扰，并且可能与替换现有的主机密钥一样成问题。

为避免用户再次被提示验证启用了 SFTP 的服务器的真实性，请将本地服务器的主机密钥导入到启用了 SFTP 的服务器。这样做还可以防止您的用户收到有关潜在 man-in-the-middle攻击的警告。

作为一项额外的安全措施，您也可以定期轮换主机密钥。有关更多信息，请参阅 [轮换服务器主机密钥](server-host-key-rotate.md)。

**注意**  
服务器主机密钥由支持 SFTP 协议的服务器使用。

## 何时导入主机密钥
<a name="host-key-import-use-cases"></a>

虽然 AWS Transfer Family 可以自动生成主机密钥，但在以下几种情况下，导入自己的主机密钥会带来操作上的好处：
+ *服务器迁移*-您正在从现有服务器迁移到 AWS Transfer Family 并希望避免更新现有客户端的客户端信任存储库（`known_hosts`文件）。
+ *灾难恢复和故障转移*-您有多 AWS Transfer Family 台服务器（例如，一台位于美国东部（俄亥俄州），一台位于美国西部（俄勒冈）），它们共享相同的公有 DNS 名称。在两台服务器上使用相同的主机密钥可确保无缝故障转移，而不会出现客户端身份验证故障。
+ *操作连续性*-您希望主机密钥材料将来可用于其他服务器（AWS Transfer Family 或其他服务器），以便在整个基础架构中保持一致的服务器身份。
+ *算法控制*-您希望通过提供更多主机密钥算法来提高客户端兼容性，或者您想通过仅提供与特定算法兼容的密钥来控制客户端可以使用的算法。

以下主题提供了管理服务器主机密钥的详细过程：
+ [添加其他的服务器主机密钥](server-host-key-add.md)-向服务器添加其他主机密钥
+ [删除服务器主机密钥](server-host-key-delete.md)-从服务器上移除主机密钥
+ [轮换服务器主机密钥](server-host-key-rotate.md)-轮换主机密钥以增强安全性
+ [其他服务器主机密钥信息](server-host-key-other.md)-查看和管理主机密钥详细信息