

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 管理 PGP 金鑰
<a name="manage-pgp-keys"></a>

若要管理您的 PGP 金鑰，請使用 AWS Secrets Manager。

**注意**  
您的秘密名稱包含 Transfer Family 伺服器 ID。這表示在存放 PGP 金鑰資訊*之前*，您應該已識別或建立伺服器 AWS Secrets Manager。

如果您想要為所有使用者使用一個金鑰和複雜密碼，您可以將 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 版本，執行下列其中一個命令來產生 PGP 金鑰對。
   + 如果您使用的是 2.3.0 **GnuPG**版或更新版本，請執行下列命令：

     ```
     gpg --full-gen-key
     ```

     您可以選擇 **RSA**，或者，如果您選擇 **ECC**，則可以**Curve25519**為橢圓曲線選擇 **NIST****BrainPool**或 。如果您`gpg --gen-key`改為執行 ，您可以建立使用 ECC Curve 25519 加密演算法的金鑰對。
   + 對於 2.3.0 **GnuPG**之前的 版本，您可以使用下列命令，因為 RSA 是預設加密類型。

     ```
     gpg --gen-key
     ```
**重要**  
在金鑰產生過程中，您必須提供密碼短語和電子郵件地址。請務必記下這些值。當您在此程序 AWS Secrets Manager 稍後的 中輸入金鑰的詳細資訊時，必須提供密碼短語。而且，您必須提供相同的電子郵件地址，才能在下一個步驟中匯出私有金鑰。

1. 執行下列命令以匯出私有金鑰。若要使用此命令，請將 `{{private.pgp}}`取代為儲存私有金鑰區塊的檔案名稱，並將 `{{marymajor@example.com}}`取代為您產生金鑰對時使用的電子郵件地址。

   ```
   gpg --output {{private.pgp}} --armor --export-secret-key {{marymajor@example.com}}
   ```

1. <a name="store-pgp-key-details"></a>使用 AWS Secrets Manager 來存放 PGP 金鑰。

   1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/) 開啟 AWS Secrets Manager 主控台。

   1. 在左側導覽窗格中，選擇**秘密**。

   1. 在**秘密**頁面上，選擇**儲存新的秘密**。

   1. 在**選擇秘密類型**頁面上，針對**秘密類型**，選取**其他類型的秘密**。

   1. 在**鍵/值對**區段中，選擇**鍵/值**索引標籤。
      + **金鑰** – 輸入 **PGPPrivateKey**。
**注意**  
您必須完全輸入**PGPPrivateKey**字串：請勿在字元之前或之間新增任何空格。
      + **value** – 將私有金鑰的文字貼到值欄位中。您可以在先前在此程序中匯出金鑰時指定的 檔案中 （例如 `private.pgp`)，找到私有金鑰的文字。金鑰開頭為 `-----BEGIN PGP PRIVATE KEY BLOCK-----`，結尾為 `-----END PGP PRIVATE KEY BLOCK-----`。
**注意**  
請確定文字區塊僅包含私有金鑰，也不包含公有金鑰。

   1. 選取**新增資料列**，然後在**鍵/值對**區段中，選擇**鍵/值**索引標籤。
      + **金鑰** – 輸入 **PGPPassphrase**。
**注意**  
您必須完全輸入**PGPPassphrase**字串：請勿在字元之前或之間新增任何空格。
      + **value** – 輸入您在產生 PGP 金鑰對時使用的密碼短語。  
![AWS Secrets Manager 主控台會顯示您為了管理 PGP 金鑰而輸入的金鑰和值。](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/images/pgp-secrets-01.png)
**注意**  
您最多可以新增 3 組金鑰和密碼片語。若要新增第二組，請新增兩個新資料列，並為金鑰輸入 **PGPPassphrase2** **PGPPrivateKey2**和 ，然後貼上另一個私有金鑰和密碼片語。若要新增第三個集合，索引鍵值必須為 **PGPPrivateKey3**和 **PGPPassphrase3**。

   1. 選擇**下一步**。

   1. 在**設定秘密**頁面上，輸入秘密的名稱和描述。
      + 如果您要建立預設金鑰，也就是任何 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 伺服器正在使用的身分提供者中。

   1. 選擇**下一步**，並接受**設定輪換**頁面上的預設值。然後選擇**下一步**。

   1. 在**檢閱**頁面上，選擇**存放**以建立和存放秘密。

下列螢幕擷取畫面顯示特定 Transfer Family 伺服器**marymajor**的使用者詳細資訊。此範例顯示三個金鑰及其對應的密碼短語。

![AWS Secrets Manager 主控台會顯示秘密詳細資訊頁面，其中包含 Transfer Family 伺服器和使用者的三個金鑰和密碼片語。](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/images/pgp-secrets-02.png)
