管理 PGP 密钥 - AWS Transfer Family

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

管理 PGP 密钥

要管理您的 PGP 密钥,请使用 AWS Secrets Manager。

注意

您的秘钥名称包括 Transfer Family 服务器 ID。这意味着您应在 AWS Secrets Manager中存储 PGP 秘钥信息之前识别或创建服务器。

如果您想为所有用户使用同一个密钥和密码,则可以将 PGP 密钥区块信息存储在机密名称 aws/transfer/server-id/@pgp-default 下,其中 server-id 是 Transfer Family 服务器的 ID。如果没有与正在执行工作流程的用户user-name匹配的密钥,Transfer Family 将使用此默认密钥。

您可以为特定用户创建密钥。在本例中,密钥名称的格式为aws/transfer/server-id/user-name,其中user-name匹配正在为 Transfer Family 服务器运行工作流程的用户。

注意

在每台 Transfer Family 服务器上,每位用户最多可存储 3 个 PGP 私钥。

配置用户解密的 PGP 密钥
  1. 根据您使用的 GPG 版本,运行以下命令之一来生成不使用 Curve 25519 加密算法的 PGP 密钥对。

    • 如果您使用的是 GnuPG 版本为 2.3.0 或以上,请运行以下命令:

      gpg --full-gen-key

      您可选择 RSA,或如果您选择 ECC,您可为此椭圆曲线选择 NISTBrainPool。如果改为运行 gpg --gen-key,则会创建一个使用 ECC Curve 25519 加密算法的密钥对,而我们目前不支持 PGP 密钥。

    • 对于 2.3.0 之前版本的 GnuPG,您可以使用以下命令,原因是 RSA 是默认的加密类型。

      gpg --gen-key
    重要

    密钥生成过程中,您必须提供密码和电子邮箱地址。请务必记下这些值。在本过程的 AWS Secrets Manager 后面输入密钥详细信息时,必须提供密码。您必须提供相同的电子邮件地址才能在下一步中导出私钥。

  2. 运行以下命令以导出私钥。要使用此命令,请将 private.pgp 替换为用于保存私钥块的文件名,并将 marymajor@example.com 替换为生成密钥对时使用的电子邮件地址。

    gpg --output private.pgp --armor --export-secret-key marymajor@example.com
  3. 用于存储 AWS Secrets Manager 您的 PGP 密钥。

    1. 登录 AWS Management Console 并打开 AWS Secrets Manager 控制台,网址为https://console.aws.amazon.com/secretsmanager/

    2. 在左侧导航窗格中,选择密钥

    3. 密钥页面,选择存储新密钥

    4. 选择密钥类型页面上,为密钥类型选择其他密钥类型

    5. 秘钥/值对部分,选择秘钥/值选项卡。

      • 密钥 - 输入 PGPPrivateKey

        注意

        必须准确输入 PGPPrivateKey 字符串:切勿在字符前面或字符之间添加任何空格。

      • — 将您的私钥文本粘贴至值字段。您可以在文件中找到私钥文本(例如 private.pgp),该文件是在您之前导出密钥时指定的文件。密钥开头为 -----BEGIN PGP PRIVATE KEY BLOCK-----,结尾为 -----END PGP PRIVATE KEY BLOCK-----

        注意

        确保文本块仅包含私钥,且不包含公钥。

    6. 选择添加行,然后在秘钥/值对部分选择秘钥/值选项卡。

      • — 输入 PGPPassphrase

        注意

        必须准确输入 PGPPassphrase 字符串:切勿在字符前面或字符之间添加任何空格。

      • – 输入您在生成 PGP 密钥对时使用的密码。

      AWS Secrets Manager 控制台,显示您为管理 PGP 密钥而输入的密钥和值。
      注意

      您最多可添加 3 组密钥和密码。若要添加第二组,请添加两行新行,为秘钥输入 PGPPrivateKey2PGPPassphrase2,并粘贴至其他私钥和密码。若要添加第三组,秘钥值必须为 PGPPrivateKey3PGPPassphrase3

    7. 选择下一步

    8. 配置密钥页面,输入密钥的名称和描述。

      • 如果您要创建默认密钥,即可供任何 Transfer Family 用户使用的密钥,请输入 aws/transfer/server-id/@pgp-default。将 server-id 替换为包含解密工作流程服务器的 ID。

      • 如果您正在创建供特定 Transfer Family 用户使用的密钥,请输入 aws/transfer/server-id/user-name。将 server-id 替换为包含解密工作流程服务器的 ID,将 user-name 更换为运行工作流程的用户名称。user-name 存储在 Transfer Family 服务器正在使用的身份提供程序。

    9. 选择下一步,接受配置轮换页面的默认设置。然后选择下一步

    10. 审核页面,选择存储以创建和存储密钥。

以下屏幕截图显示了指定 Transfer Family 服务器用户 marymajor 的详细信息。此示例显示三个密钥及其对应的密码。

AWS Secrets Manager 控制台,显示机密详情页面,其中包含 Transfer Family 服务器和用户的三个密钥和密码。