是否可以在 EC2 密钥对中注册 kms 密钥对?



我可以在 EC2 节点上注册 kms 密钥对作为 SSH 登录的密钥对吗?

我想使用Terraform来管理它。

自2020 年 6 月 20 日起,AWS KMS 不能直接用于管理 SSH 密钥。

您可以使用 KMS 生成 RSA 和 ECC 数据密钥,以便进行客户端加密操作,但您必须自己管理这些密钥。

AWS KMS 目前支持:

  1. 使用对称密钥加密(截至 2020 年 6 月 20 日,仅限 AES(
  2. 使用非对称密钥进行数字签名(截至 2020 年 6 月 20 日,RSA 和 ECC 均如此(

用于服务端加密的 KMS 客户主密钥 (CMK((成本高昂,延迟可能太高,无法从 SSH 客户端实际使用(:

AWS KMS 支持对称和非对称 CMK。

  • 对称 CMK:表示单个 256 位私有加密密钥,该密钥永远不会使 AWS KMS 处于未加密状态。要使用对称 CMK,您必须调用 AWS KMS。
  • 非对称 CMK:表示数学上相关的公有密钥和私有密钥对,可用于加密和解密或签名和验证,但不能同时用于两者。私有密钥永远不会使 AWS KMS 处于未加密状态。您可以通过调用 AWS KMS API 操作在 AWS KMS 中使用公有密钥,也可以下载公有密钥并在 AWS KMS 外部使用它。

将不对称的 CMK 与 SSH 一起使用需要修改后的客户端或我不知道的插件,并且非常昂贵且速度缓慢。

用于客户端操作的数据密钥;

AWS KMS

还提供对称数据密钥和非对称数据密钥对,旨在用于 AWS KMS 外部的客户端加密。非对称数据密钥对中的对称数据密钥和私有密钥受 AWS KMS 中的对称 CMK 保护。

  • 对称数据密钥 — 可用于加密 AWS KMS 外部数据的对称加密密钥。此密钥受 AWS KMS 中的对称 CMK 保护。 *非对称数据密钥对 — 由公钥和私钥组成的 RSA 或椭圆曲线 (ECC( 密钥对。您可以在 AWS KMS 外部使用数据密钥对来加密和解密数据,或者对消息进行签名并验证签名。私有密钥受 AWS KMS 中的对称 CMK 保护。

使用KMS 中的非对称数据密钥会更实用,但需要修改后的客户端使用 CMK 将其解包,或者要求您使用 SSH 客户端的功能在客户端管理密钥本身的加密。

您还需要将公钥添加到要登录的主机。例如,使用 Terraform 生成 CMK,并使用null_resource配置器从中创建非对称数据密钥。

然后,您可以获取非对称数据密钥的公有密钥,并将其作为密钥对添加到 EC2 中,以便在预置实例中使用。

这是非常复杂的,不太可能值得复杂。你最好在本地使用 ssh-keygen。

最新更新