

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

# 在執行個體上新增或取代公有金鑰
<a name="replacing-key-pair"></a>


|  | 
| --- |
| 如果您遺失私有金鑰，便無法存取任何使用金鑰對的執行個體。如需詳細資訊，了解使用與啟動時指定之金鑰對不同的金鑰對來連線至執行個體，請參閱[我遺失了私有金鑰](TroubleshootingInstancesConnecting.md#replacing-lost-key-pair)。 | 

當您啟動執行個體時，您可[指定金鑰對](ec2-instance-launch-parameters.md#liw-key-pair)。若您在啟動時指定金鑰對，當執行個體第一次啟動時，公有金鑰材料會放置在 `~/.ssh/authorized_keys` 內項目的 Linux 執行個體上。首次使用 SSH 連線至 Linux 執行個體時，您將指定與存放於 Linux 執行個體的公有金鑰相對應的預設使用者與私有金鑰。

在連線至執行個體之後，您可變更用來存取執行個體預設系統帳戶的金鑰對，方法是在執行個體上新增公有金鑰，或是取代執行個體上的公有金鑰 (刪除現有公有金鑰並在執行個體上新增一個)。您也可以從執行個體中移除所有公有金鑰。

以下是您可以新增或取代金鑰對的理由：
+ 如果組織中的使用者需要使用不同的金鑰對來存取系統使用者，您可以將該共有金鑰新增到執行個體。
+ 如果某些人擁有私有金鑰的複本 (`.pem` 檔案)，而您希望阻止他們連線到您的執行個體 (例如，如果他們已離開您的組織)，則您可刪除執行個體上的公有金鑰，並以新的金鑰取代。
+ 如果您從執行個體中建立 Linux AMI，則公有金鑰材料會從執行個體複製到 AMI。如果從 AMI 中啟動執行個體，則新的執行個體會包含來自原始執行個體的公有金鑰。若要防止擁有私有金鑰的某些人連線到新執行個體，請從原始執行個體中移除公有金鑰，*然後*再建立 AMI。

使用以下程序來修改預設使用者 (例如 `ec2-user`) 的金鑰對。如需有關將使用者新增至執行個體的詳細資訊，請參閱執行個體上作業系統相關文件。

**新增或替換金鑰對**

1. 使用 [Amazon EC2 主控台](create-key-pairs.md#having-ec2-create-your-key-pair)或[第三方工具](create-key-pairs.md#how-to-generate-your-own-key-and-import-it-to-aws)來建立新的金鑰對。

1. 從新的金鑰對擷取公有金鑰。如需詳細資訊，請參閱[擷取公有金鑰資料](describe-keys.md#retrieving-the-public-key)。

1. [連線到您的執行個體](connect-to-linux-instance.md)。

1. 在執行個體上，使用您自選的文字編輯器開啟 `.ssh/authorized_keys` 檔案。貼上新金鑰對的公有金鑰資訊 (在現有公有金鑰資訊的下方)，然後儲存該檔案。

1. 中斷連線您的執行個體。測試您可使用新金鑰對的私有金鑰檔案，來連線至您的執行個體。

1. 若您將使用 Auto Scaling、EC2 機群，或者啟動範本來啟動執行個體，檢查在您的啟動範本或啟動組態中是否已指定您將要取代的金鑰對。否則，執行個體將無法啟動。

1. (選用) 如果要替換現有的金鑰對，請連線到執行個體，然後從 `.ssh/authorized_keys` 檔案，刪除原始金鑰對的公有金鑰資訊。

**若要從執行個體中移除公有金鑰**

1. [連線到您的執行個體](connect-to-linux-instance.md)。

1. 使用您自選的文字編輯器，在執行個體上開啟 `.ssh/authorized_keys` 檔案。刪除公有金鑰資訊，然後儲存檔案。

**警告**  
若從執行個體中移除所有公有金鑰，並從執行個體中斷連線，除非您已設定另一種登入方式，否則無法再次連線執行個體。