

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

# 在 macOS、Linux 或 Unix 上建立 SSH 金鑰
<a name="macOS-linux-unix-ssh"></a>

在 macOS、Linux 或 Unix 作業系統上，您可以使用 `ssh-keygen`命令來建立 SSH 公有金鑰和 SSH 私有金鑰，也稱為金鑰對。

**注意**  
在下列範例中，我們不會指定密碼短語：在此情況下，工具會要求您輸入密碼短語，然後重複它進行驗證。建立密碼短語可為您的私有金鑰提供更好的保護，也可能改善整體系統安全性。您無法復原密碼短語：如果您忘記密碼短語，則必須建立新的金鑰。  
不過，如果您要產生伺服器主機金鑰，*則必須*在命令中指定 `-N ""`選項 （或在出現提示時按**Enter**兩次） 來指定空密碼，因為 Transfer Family 伺服器無法在啟動時請求密碼。

**在 macOS、Linux 或 Unix 作業系統上建立 SSH 金鑰**

1. 在 macOS、Linux 或 Unix 作業系統上，開啟命令終端機。

1. AWS Transfer Family 接受 RSA-、ECDSA- 和 ED25519-formatted的金鑰。根據您要產生的金鑰對類型選擇適當的命令。

   **秘訣**：`key_name`將 取代為 SSH 金鑰對檔案的實際名稱。
   + 若要產生 RSA 4096 位元金鑰對：

     ```
     ssh-keygen -t rsa -b 4096 -f key_name
     ```
   + 若要產生 ECDSA 521 位元金鑰對 (ECDSA 的位元大小為 256、384 和 521)：

     ```
     ssh-keygen -t ecdsa -b 521 -f key_name
     ```
   + 若要產生 ED25519 金鑰對：

     ```
     ssh-keygen -t ed25519 -f key_name
     ```

   以下顯示`ssh-keygen`輸出的範例。

   ```
   ssh-keygen -t rsa -b 4096 -f key_name
   Generating public/private rsa key pair.
   
   Enter passphrase (empty for no passphrase): 
   Enter same passphrase again:
   Your identification has been saved in key_name.
   Your public key has been saved in key_name.pub.
   The key fingerprint is:
   SHA256:8tDDwPmanTFcEzjTwPGETVWOGW1nVz+gtCCE8hL7PrQ bob.amazon.com
   The key's randomart image is:
   +---[RSA 4096]----+
   |    . ....E      |
   | .   = ...       |
   |. . . = ..o      |
   | . o +  oo =     |
   |  + =  .S.= *    |
   | . o o ..B + o   |
   |     .o.+.* .    |
   |     =o*+*.      |
   |    ..*o*+.      |
   +----[SHA256]-----+
   ```

   **秘訣**：執行上述`ssh-keygen`命令時，它會將公有金鑰和私有金鑰建立為目前目錄中的檔案。

   您的 SSH 金鑰對現在已準備好可供使用。請依照步驟 3 和 4 來存放服務受管使用者的 SSH 公有金鑰。這些使用者會在 Transfer Family 伺服器端點上傳輸檔案時使用金鑰。

1. 導覽至 `key_name.pub` 檔案並開啟。

1. 複製文字並將其貼到服務受管使用者的 **SSH 公有金鑰**中。

   1. 在 https：//[https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) 開啟 AWS Transfer Family 主控台，然後從導覽窗格中選取**伺服器**。

   1. 在**伺服器**頁面上，選取包含您要更新之使用者之伺服器的伺服器 **ID**。

   1. 選取您要為其新增公有金鑰的使用者。

   1. 在 **SSH 公有金鑰**窗格中，選擇**新增 SSH 公有金鑰**。  
![\[AWS Transfer Family 主控台，顯示所選使用者的使用者詳細資訊。\]](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/images/edit-user-add-key-01.png)

   1. 將產生的公有金鑰文字貼到 SSH 公有金鑰文字方塊，然後選擇**新增金鑰**。  
![\[AWS Transfer Family 主控台，顯示用於新增公有金鑰的新增金鑰頁面。\]](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/images/edit-user-add-key-02.png)

      新金鑰會列在 SSH 公有金鑰窗格中。  
![\[AWS Transfer Family 主控台，顯示在 SSH 公有金鑰區段中新增的公有金鑰。\]](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/images/edit-user-add-key-03.png)