

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

# 在 Lightsail Linux 執行個體上管理 SSH 金鑰
<a name="amazon-lightsail-remove-ssh-key-on-instance"></a>

您可以使用金鑰對建立與 Amazon Lightsail 執行個體的安全連線。Lightsail 會在您首次建立 Linux 或 Unix 執行個體時，在 Linux 或 Unix 執行個體上設定金鑰對的公有金鑰。建立執行個體的 SSH 連線時，您可以使用金鑰對的私有金鑰來驗證執行個體。如需金鑰的詳細資訊，請參閱[金鑰對與連接到執行個體](understanding-ssh-in-amazon-lightsail.md)。

執行個體開始運作後，您就可以變更用來連接至執行個體的金鑰對，方法是在執行個體上新增公有金鑰，或是取代執行個體上的公有金鑰 (刪除現有公有金鑰並在執行個體上新增一個)。這樣做的原因如下：
+ 如果您組織中的使用者需要使用不同的金鑰對來存取執行個體，您可以將該公有金鑰新增到執行個體。
+ 如果您需要確保從執行個體 (使用了已洩露金鑰) 的快照建立的新執行個體安全無虞。
+ 如果某些人擁有私有金鑰的複本，而您希望阻止他們連線到您的執行個體 (例如，如果他們已離開您的組織)，則您可刪除該共有金鑰並用新的金鑰來取代它。

若要新增或取代執行個體上的金鑰，您必須能夠連線至您的執行個體。如果您遺失現有的私有金鑰，您可以使用 Lightsail 瀏覽器型 SSH 用戶端來連接到執行個體。如需詳細資訊，請參閱[連接至 Linux 或 Unix 執行個體](lightsail-how-to-connect-to-your-instance-virtual-private-server.md)。

**內容**
+ 步驟 1：[了解程序](#learn-about-the-process)
+ 步驟 2：[建立金鑰對](#create-a-key-pair)
+ 步驟 3：[新增公有金鑰至執行個體](#add-public-key-to-instance)
+ 步驟 4：[使用新的金鑰對連線至執行個體](#connect-to-instance-new-key-pair)
+ 步驟 5：[從執行個體中刪除現有的公有金鑰](#delete-public-key-from-instance)

## 步驟 1：了解程序
<a name="learn-about-the-process"></a>

以下是在執行個體上新增和移除金鑰的一般步驟。如果您想從執行個體中移除金鑰而不新增金鑰，請參閱本指南稍後提及的步驟 5：[從執行個體中刪除現有公有金鑰](#delete-public-key-from-instance)。

1. **建立金鑰對** – 若要新增金鑰至執行個體，您必須先建立新的金鑰對。您可以使用 Lightsail 主控台來建立自訂或預設金鑰對，或在您的本機電腦上使用第三方工具 (如 ssh-keygen) 來建立。兩種方法都會產生新的金鑰對，包含公有金鑰和私有金鑰。如需詳細資訊，請參閱本指南稍後提及的步驟 2：[建立金鑰對](#create-a-key-pair)。

1. **新增公有金鑰至執行個體** – 建立金鑰對後，您可以使用 SSH 連接到您的執行個體，並將金鑰對的公有金鑰新增至您的執行個體。如需詳細資訊，請參閱本指南稍後提及的步驟 3：[新增公有金鑰至執行個體](#add-public-key-to-instance)。

1. **測試是否能使用新的金鑰對連接到執行個體** – 在執行個體上儲存金鑰對的公有金鑰後，您應該測試是否可以使用金鑰對的私有金鑰，以 SSH 連接到執行個體。如需詳細資訊，請參閱本指南稍後提及的步驟 4：[使用新的金鑰對連接至執行個體](#connect-to-instance-new-key-pair)。

1. **從執行個體移除舊公有金鑰** – 使用新金鑰順利連接執行個體後，您就可以從執行個體移除舊金鑰。完成此步驟可防止使用者透過舊金鑰對連接到執行個體。如需詳細資訊，請參閱本指南稍後提及的步驟 5：[從執行個體刪除現有的公有金鑰](#delete-public-key-from-instance)。

## 步驟 2：建立金鑰對
<a name="create-a-key-pair"></a>

完成下列程序以使用 ssh-keygen 在本機電腦上建立金鑰對。

1. 開啟您本機電腦的命令提示或終端機。

1. 輸入以下命令來建立金鑰對。

   ```
   ssh-keygen -t rsa
   ```

1. 在電腦上指定金鑰對儲存的目錄位置。

   例如：
   + 在 Windows 上： `C:\Users\{{<UserName>}}\.ssh\{{<KeyPairName>}}`
   + 在 macOS、Linux 或 Unix 上：`/home/{{<UserName>}}/.ssh/{{<KeyPairName>}}`

   以您目前登入的使用者名稱來取代 `{{<UserName>}}`，然後以新金鑰對名稱來取代 `{{<KeyPairName>}}`。

   在下列範例中，我們會在 Windows 電腦上指定 `C:\Keys` 目錄，並將新的金鑰命名為 `MyNewLightsailCustomKey`。  
![目錄位置 C:\Keys](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/managing-keys-on-instance-01.png)

1. 輸入金鑰的密碼短語，然後按下 **Enter**。您不會在輸入密碼短語時看見內容。

   稍後在 SSH 用戶端上設定私有金鑰以連接到執行個體 (已設定了公有金鑰) 時，您會需要此密碼短語。  
![Passphrase (密碼短語)](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/managing-keys-on-instance-02.png)

1. 請再次輸入密碼短語以確認，然後按下 **Enter**。您不會在輸入密碼短語時看見內容。  
![Passphrase (密碼短語)](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/managing-keys-on-instance-03.png)

1. 畫面上會出現提示，確認您的私有金鑰和公有金鑰已儲存至指定的目錄。  
![身分檔案儲存位置](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/managing-keys-on-instance-04.png)

1. 開啟公有金鑰 (.PUB) 檔案，然後複製檔案中的文字。  
![複製公有金鑰檔案的內容](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/managing-keys-on-instance-05.png)

請繼續前往本指南的下一節，以瞭解新增公開金鑰至 Lightsail 執行個體的相關資訊。

## 步驟 3：新增公有金鑰至執行個體
<a name="add-public-key-to-instance"></a>

完成以下程序來新增公有金鑰至執行個體。公開金鑰內容儲存於 Linux 和 Unix 執行個體上的 `~/.ssh/authorized_keys` 檔案。

1. 登入 [Lightsail 主控台](https://lightsail.aws.amazon.com/)。

1. 選擇Lightsail首頁上的**執行個體**區段。

1. 選擇您要連接之執行個體的瀏覽器型 SSH 用戶端圖示。  
![選擇瀏覽器型 SSH 用戶端](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/managing-keys-on-instance-06.png)

1. 連接後，輸入下列命令以使用您選擇的文字編輯器來編輯 *authorized\_keys* 檔案。下列步驟使用 Vim 做為示範。

   ```
   sudo vim ~/.ssh/authorized_keys
   ```

   您應該會看到類似於以下範例的結果，這將顯示執行個體上目前設定的公有金鑰。在此範例中，建立執行個體的 AWS 區域 區域，其 Lightsail 預設金鑰是執行個體上設定的唯一公有金鑰。  
![編輯授權金鑰檔案](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/managing-keys-on-instance-07.png)

1. 按下 **I** 鍵以進入 Vim 編輯器的插入模式。

1. 在檔案上的最後一個公有金鑰之後輸入換行符號。

1. 貼上您先前在本指南中複製的公有金鑰文字 (建立新金鑰對之後)。您應該會看到類似以下範例的結果：  
![貼上公有金鑰](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/managing-keys-on-instance-08.png)

1. 按下 **ESC** 鍵。接下來，鍵入 `:wq!` 並按下 **Enter** 以儲存編輯內容並結束 Vim 編輯器。

全新公有金鑰現已新增至您的執行個體。請繼續前往本指南的下一節，以瞭解使用新的金鑰對連接至執行個體的相關資訊。

## 步驟 4：使用新的金鑰對連線至執行個體
<a name="connect-to-instance-new-key-pair"></a>

若要測試新的金鑰對，請中斷與執行個體的連線，然後使用您在本指南稍早建立的私有金鑰重新連接至該執行個體。如需更多資訊，請參閱[金鑰對與連接到 Amazon Lightsail 中的執行個體](understanding-ssh-in-amazon-lightsail.md)。使用新金鑰順利連接到執行個體後，您就可以從執行個體中移除舊金鑰。繼續下一個步驟，瞭解如何從執行個體中刪除公有金鑰。

## 步驟 5：從執行個體中刪除現有的公有金鑰
<a name="delete-public-key-from-instance"></a>

完成下列程序以便從執行個體移除公有金鑰。如此可防止使用者透過舊金鑰對連接到執行個體。使用新金鑰對順利連接到執行個體後，請執行此動作。

1. 使用 SSH 連接至您的執行個體。

1. 輸入下列命令以使用您選擇的文字編輯器來編輯 *authorized\_keys* 檔案。下列步驟使用 Vim 做為示範。

   ```
   sudo vim ~/.ssh/authorized_keys
   ```

1. 按下字母 **I** 鍵以進入 Vim 編輯器的插入模式。

1. 刪除您要從執行個體移除且內含公有金鑰的文字行。  
![刪除舊公有金鑰](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/managing-keys-on-instance-09.png)

   結果應如下列範例所示，顯示的唯一金鑰即為新的公有金鑰。  
![保留新公有金鑰](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/managing-keys-on-instance-10.png)

1. 按下 **ESC** 鍵。接下來，鍵入 `:wq!` 並按下 **Enter** 以儲存編輯內容並結束 Vim 編輯器。

需刪除的公有金鑰現已從執行個體移除。您的執行個體會拒絕使用該金鑰對之私有金鑰的連線。