Amazon EC2 金鑰對和 Linux 執行個體 - Amazon Elastic Compute Cloud

Amazon EC2 金鑰對和 Linux 執行個體

金鑰對 (由公有金鑰和私有金鑰組成) 是一組安全登入資料,您可以在連線至 Amazon EC2 執行個體時用來證明身分。Amazon EC2 會在執行個體上儲存公有金鑰,您可存放私有金鑰。對於 Linux 執行個體,私有金鑰可讓您透過 SSH 安全地進入執行個體。任何擁有您私有金鑰的人都可以連線到您的執行個體,因此請務必將私有金鑰存放在安全的位置。

當您啟動執行個體時,系統會提示您輸入金鑰對。如果您計劃使用 SSH 連線到執行個體,則必須指定金鑰對。您可選擇現有金鑰對或建立新的金鑰對。當您的執行個體第一次啟動時,您在啟動時指定的公有金鑰會放置在 ~/.ssh/authorized_keys 內某個條目中的 Linux 執行個體中。當您使用 SSH 連線到 Linux 執行個體時,若要登入,則必須指定與公有金鑰相對應的私有金鑰。如需連線至執行個體的詳細資訊,請參閱連接至您的 Linux 執行個體。如需金鑰對和 Windows 執行個體的詳細資訊,請參閱 Windows 執行個體的 Amazon EC2 使用者指南中的 Amazon EC2 金鑰對和 Windows 執行個體

由於 Amazon EC2 不會保留您私有金鑰的複本,因此,如果私有金鑰遺失了,就無法恢復。但是,仍然有一種方法可以連線到遺失私密金鑰的執行個體。如需詳細資訊,請參閱 在遺失私密金鑰時連線到 Linux 執行個體

您可以使用 Amazon EC2 來建立金鑰對。您也可以使用第三方工具來建立金鑰對,然後再將公有金鑰匯入 Amazon EC2。

Amazon EC2 所使用的金鑰為 ED25519 或 2048 位元的 SSH-2 RSA 金鑰。

每個區域最多可以有 5,000 個金鑰對。

使用 Amazon EC2 建立金鑰對

您可以使用下列其中一種方法來建立金鑰對。

Console

建立您的金鑰對

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 請在導覽窗格的 Network & Security (網路與安全性) 下方,選擇 Key Pairs (金鑰對)。

  3. 選擇 Create key pair (建立金鑰對)

  4. 對於 Name (名稱),輸入金鑰對的描述性名稱。Amazon EC2 會將公有金鑰與您指定為金鑰名稱的名稱相關聯。金鑰名稱最多可包含 255 個 ASCII 字元。它不能包括前置或結尾空格。

  5. 針對 Key pair type (金鑰對類型),選擇 RSAED25519。請注意,Windows 執行個體、EC2 執行個體 Connect 或 EC2 序列主控台不支援 ED25519 金鑰。

  6. 針對 Private key file format (私有金鑰檔案格式),選擇私有金鑰的儲存格式。若要將私有金鑰儲存為可與 OpenSSH 搭配使用的格式,請選擇 pem。若要將私有金鑰儲存為可與 PuTTY 搭配使用的格式,請選擇 ppk

    如果您在上一個步驟中選擇 ED25519Private key file format (私有金鑰檔案格式) 選項不會出現,而私有金鑰格式預設為 PEM

  7. 若要向公有金鑰新增標籤,請選擇 Add tag (新增標籤),然後輸入標籤的金鑰和值。針對每個標籤,重複執行上述動作。

  8. 選擇 Create key pair (建立金鑰對)

  9. 您的瀏覽器會自動下載私有金鑰檔案。基礎檔案名稱是您所指定的金鑰對名稱,而副檔名是根據您選擇的檔案格式所決定。將私有金鑰檔案存放在安全的地方。

    重要

    這是您儲存私有金鑰檔案的唯一機會。

  10. 如果您將在 macOS 或 Linux 電腦上使用 SSH 用戶端連線至 Linux 執行個體,請使用下列命令設定私有金鑰檔案的許可,以便只有您能夠讀取該檔案。

    chmod 400 my-key-pair.pem

    如果您未設定這些許可,則無法使用此金鑰對來連接至您的執行個體。如需詳細資訊,請參閱 錯誤:未受保護的私有金鑰檔案

AWS CLI

建立您的金鑰對

  1. 使用 create-key-pair 命令,如下所示產生金鑰對,並將私有金鑰儲存到 .pem 檔案中。

    對於 --key-name,指定公有金鑰的名稱。名稱最多為 255 個 ASCII 字元。

    對於 --key-type,指定 rsaed25519。如果您未包含 --key-type 參數,預設會建立 rsa 金鑰。請注意,Windows 執行個體、EC2 執行個體 Connect 和 EC2 序列主控台不支援 ED25519 金鑰。

    --query "KeyMaterial" 將私有金鑰材料列印到輸出。

    --output text > my-key-pair.pem 將私有金鑰材料儲存在檔案中,副檔名為 .pem。私有金鑰的名稱可以與公有金鑰名稱不同,但為了方便使用,請使用相同的名稱。

    aws ec2 create-key-pair \ --key-name my-key-pair \ --key-type rsa \ --query "KeyMaterial" \ --output text > my-key-pair.pem
  2. 如果您將在 macOS 或 Linux 電腦上使用 SSH 用戶端連線至 Linux 執行個體,請使用下列命令設定私有金鑰檔案的許可,以便只有您能夠讀取該檔案。

    chmod 400 my-key-pair.pem

    如果您未設定這些許可,則無法使用此金鑰對來連接至您的執行個體。如需詳細資訊,請參閱 錯誤:未受保護的私有金鑰檔案

PowerShell

建立您的金鑰對

使用 New-EC2Keypair AWS Tools for Windows PowerShell 命令,如下所示產生金鑰並將其儲存到 .pem 文件中。

對於 -KeyName,指定公有金鑰的名稱。名稱最多為 255 個 ASCII 字元。

對於 -KeyType,指定 rsaed25519。如果您未包含 -KeyType 參數,預設會建立 rsa 金鑰。請注意,Windows 執行個體、EC2 執行個體 Connect 和 EC2 序列主控台不支援 ED25519 金鑰。

KeyMaterial 將私有金鑰材料列印到輸出。

Out-File -Encoding ascii -FilePath C:\path\my-key-pair.pem 將私有金鑰材料儲存在檔案中,副檔名為 .pem。私有金鑰的名稱可以與公有金鑰名稱不同,但為了方便使用,請使用相同的名稱。

PS C:\> (New-EC2KeyPair -KeyName "my-key-pair" -KeyType "rsa").KeyMaterial | Out-File -Encoding ascii -FilePath C:\path\my-key-pair.pem

使用第三方工具來建立金鑰對,然後將公有金鑰匯入 Amazon EC2

您可以不使用 Amazon EC2 來建立金鑰對,而改用第三方的工具來產生 RSA 或 ED25519 金鑰對,然後再將公有金鑰匯入 Amazon EC2。

金鑰對的需求

  • 支援的類型:RSA 和 ED25519。Amazon EC2 不接受 DSA 金鑰。

    • 請注意,Windows 執行個體、EC2 執行個體 Connect 和 EC2 序列主控台不支援 ED25519 金鑰。

  • 支援的格式:

    • OpenSSH 公有金鑰格式 (~/.ssh/authorized_keys 中的格式)。如果您在使用 EC2 Instance Connect API 時以 SSH 連線,則還支援 SSH2 格式。

    • SSH 私密金鑰檔案格式必須是 PEM

    • (僅限 RSA) Base64 編碼的 DER 格式

    • (僅限 RSA) 如 RFC 4716 中所指定的 SSH 公有金鑰檔案格式

  • 支援的長度:1024、2048 和 4096。如果您在使用 EC2 Instance Connect API 時以 SSH 連線,則支援的長度為 2048 和 4096。

使用第三方工具來產生金鑰對

  1. 使用您自選的第三方工具來產生金鑰對 例如:您可以使用 ssh-keygen (標準 OpenSSH 安裝隨附的工具)。或者,Java、Ruby、Python 和其他多種程式設計語言提供了標準程式庫,您可以使用這些程式庫來產生 RSA 或 ED25519 金鑰對。

    重要

    私密金鑰必須是 PEM 格式。例如:使用 ssh-keygen -m PEM 來產生 PEM 格式的 OpenSSH 金鑰。

  2. 將公有金鑰儲存到本機檔案。例如,~/.ssh/my-key-pair.pub。此檔案的副檔名不重要。

  3. 將私密金鑰儲存到具有 .pem 副檔名的本機檔案。例如:~/.ssh/my-key-pair.pem.

    重要

    將私有金鑰檔案存放在安全的地方。您在啟動執行個體時需要提供公有金鑰的名稱,且每次連線至執行個體時也需要提供對應的私密金鑰。

建立金鑰對之後,請使用以下其中一個方法,將您的公有金鑰匯入 Amazon EC2。

Console

匯入公有金鑰

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Key Pairs (金鑰對)

  3. 選擇 Import key pair (匯入金鑰對)

  4. Name (名稱) 處,輸入公有金鑰的描述性名稱。名稱最多可包含 255 個 ASCII 字元。它不能包括前置或結尾空格。

    注意

    當您從 EC2 主控台連線到執行個體時,主控台會為您的私密金鑰檔案名稱建議此名稱。

  5. 選擇 Browse (瀏覽) 以導覽並選取您的公有金鑰,或將公有金鑰的內容貼到 Public key contents (公有金鑰內容) 欄位。

  6. 選擇 Import key pair (匯入金鑰對)

  7. 確認您匯入的公開金鑰出現在金鑰對清單中。

AWS CLI

匯入公有金鑰

使用 import-key-pair AWS CLI 命令。

確認是否已成功匯入金鑰對

使用 describe-key-pairs AWS CLI 命令。

PowerShell

匯入公有金鑰

使用 Import-EC2KeyPair AWS Tools for Windows PowerShell 命令。

確認是否已成功匯入金鑰對

使用 Get-EC2KeyPair AWS Tools for Windows PowerShell 命令。

標記公有金鑰

為便於分類和管理您使用 Amazon EC2 建立的公有金鑰或匯入到 Amazon EC2 的公有金鑰,您可以使用自訂中繼資料來標記它們。如需標籤運作方式的詳細資訊,請參閱標記您的 Amazon EC2 資源

您可以使用下列其中一種方法來檢視、新增及刪除標籤。

Console

檢視、新增或刪除現有公有金鑰的標籤

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Key Pairs (金鑰對)

  3. 選取公有金鑰,然後選擇 Actions (動作)、Manage tags (管理標籤)。

  4. Manage tags (管理標籤) 頁面會顯示指派給公有金鑰的任何標籤。

    • 若要加入標籤,請選擇 Add tag (新增標籤),然後輸入標籤金鑰和值。每個金鑰最多可新增 50 個標籤。如需更多詳細資訊,請參閱 標籤限制

    • 若要刪除標籤,請選擇標籤旁的 Remove (移除) 以刪除。

  5. 選擇 Save (儲存)。

AWS CLI

若要檢視公有金鑰標籤

使用 describe-tags AWS CLI 命令。下列範例描述所有公有金鑰的標籤。

$ aws ec2 describe-tags --filters "Name=resource-type,Values=key-pair"
{ "Tags": [ { "Key": "Environment", "ResourceId": "key-0123456789EXAMPLE", "ResourceType": "key-pair", "Value": "Production" }, { "Key": "Environment", "ResourceId": "key-9876543210EXAMPLE", "ResourceType": "key-pair", "Value": "Production" }] }

描述特定公有金鑰的標籤

使用 describe-key-pairs AWS CLI 命令。

$ aws ec2 describe-key-pairs --key-pair-ids key-0123456789EXAMPLE
{ "KeyPairs": [ { "KeyName": "MyKeyPair", "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f", "KeyPairId": "key-0123456789EXAMPLE", "Tags": [ { "Key": "Environment", "Value": "Production" }] }] }

標記現有公有金鑰

使用 create-tags AWS CLI 命令。在下列範例中,會使用 Key=Cost-CenterValue=CC-123 來標記現有金鑰。

$ aws ec2 create-tags --resources key-0123456789EXAMPLE --tags Key=Cost-Center,Value=CC-123

從公有金鑰中刪除標籤

使用 delete-tags AWS CLI 命令。如需範例,請參閱 AWS CLI 命令參考中的範例

PowerShell

檢視公有金鑰標籤

使用 Get-EC2Tag 命令。

描述特定公有金鑰的標籤

使用 Get-EC2KeyPair 命令。

標記現有公有金鑰

使用 New-EC2Tag 命令。

從公有金鑰中刪除標籤

使用 Remove-EC2Tag 命令。

從私有金鑰中擷取公有金鑰

在本機的 Linux 或 macOS 電腦上,您可以使用 ssh-keygen 命令來擷取金鑰對的公有金鑰。指定已將私有金鑰 (.pem 檔案) 下載至其中的路徑。

ssh-keygen -y -f /path_to_key_pair/my-key-pair.pem

此命令會傳回公有金鑰,如下列範例所示。

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE

如果此命令失敗,請執行下列命令,來確保您已在私有金鑰對檔案中變更許可,以便只有您能夠檢視它。

chmod 400 my-key-pair.pem

透過執行個體中繼資料擷取公有金鑰

您在啟動執行個體時指定的公有金鑰,也可透過該執行個體中繼資料來取得。若要檢視您在啟動執行個體時所指定的公有金鑰,請從執行個體使用下列的指令。

IMDSv2
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" –v http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key

以下為範例輸出。

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE my-key-pair
IMDSv1
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key

以下為範例輸出。

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE my-key-pair

如果變更用於連接到執行個體的金鑰對,我們不會變更執行個體中繼資料以顯示新的公有金鑰。相反地,執行個體中繼資料會繼續顯示啟動執行個體時指定之金鑰對的公有金鑰。如需更多詳細資訊,請參閱 擷取執行個體中繼資料

如何在執行個體上尋找公有金鑰

當您啟動執行個體時,系統會提示您輸入金鑰對。如果您計劃使用 SSH 連線到執行個體,則必須指定金鑰對。當您的執行個體第一次開機時,您在啟動時指定之公有金鑰內容會放置在 Linux 執行個體上的 ~/.ssh/authorized_keys 內的項目中。

如何在執行個體上尋找公有金鑰

  1. 連線到您的 執行個體

  2. 在終端機視窗中,使用您最愛的文字編輯器 (例如 authorized_keysvim) 開啟 nano 檔案。

    [ec2-user ~]$ nano ~/.ssh/authorized_keys

    authorized_keys 檔案開啟,會顯示公有金鑰,後面為金鑰對的名稱。下列是名為 my-key-pair 之金鑰對的輸入內容範例。

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE my-key-pair

識別啟動時指定的金鑰對

當您啟動執行個體時,系統會提示您輸入金鑰對。如果您計劃使用 SSH 連線到執行個體,則必須指定金鑰對。

識別啟動時指定的金鑰對

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體),然後選取您的執行個體。

  3. Details (詳細資訊) 標籤中,Instance details (執行個體詳細資訊) 下的 Key pair name (金鑰對名稱) 欄位會顯示您在啟動執行個體時指定的金鑰對名稱。即使您變更執行個體上的公開金鑰,或新增金鑰對,金鑰對名稱的值也不會變更。

驗證金鑰對的指紋

在 Amazon EC2 主控台的 Key Pairs (金鑰對) 頁面上,Fingerprint (指紋) 欄會顯示從金鑰對產生的指紋。AWS 會根據金鑰對是由 AWS 或第三方工具產生,以不同的方式計算出指紋。如果是使用 AWS 產生金鑰對,則會使用 SHA-1 雜湊函式來計算指紋。如果是使用第三方工具產生金鑰對,並將公有金鑰上傳到 AWS,或是從 AWS 建立的現有私有金鑰產生新的公有金鑰,並將此金鑰上傳到 AWS,則會使用 MD5 雜湊函式來計算指紋。

您可以使用 Key Pairs (金鑰對) 頁面上所顯示的 SSH2 指紋,來驗證本機機器上存放的私有金鑰,是否符合 AWS 中所存放的公有金鑰。在已下載私有金鑰檔案的電腦上,從私有金鑰檔案中產生 SSH2 指紋。輸出的內容應符合主控台中所顯示的指紋。

如果您使用的是 Windows 本機電腦,您可以使用 Windows Subsystem for Linux (WSL) 來執行下列命令。使用 Windows 10 安裝指南中的指示來安裝 WSL 和 Linux 發行版本。指示中的範例是安裝 Linux 的 Ubuntu 發行版本,但您可以安裝任何發行版本。您將會收到提示,要求您重新啟動電腦以讓變更生效。

如果已使用 AWS 建立金鑰對,您可以利用 OpenSSL 工具以產生指紋,如以下範例所示。

$ openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c

如果您已使用第三方工具建立金鑰對,並將公有金鑰上傳到 AWS,則可以使用 OpenSSL 工具來產生指紋,如以下範例所示:

$ openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c

如果您已使用 OpenSSH 7.8 或更新版本建立 OpenSSH 金鑰對,並將公有金鑰上傳到 AWS,則可以使用 ssh-keygen 來產生指紋,如以下範例所示。

對於 RSA 金鑰對:

$ ssh-keygen -ef path_to_private_key -m PEM | openssl rsa -RSAPublicKey_in -outform DER | openssl md5 -c

對於 ED25519 金鑰對:

$ ssh-keygen -l -f path_to_private_key.pem

新增或取代執行個體的金鑰對

您可以變更用來存取執行個體預設系統帳戶的金鑰對,方法是在執行個體上新增公有金鑰,或是取代執行個體上的公有金鑰 (刪除現有公有金鑰並在執行個體上新增一個)。這樣做的原因如下:

  • 如果您組織中的使用者需要使用不同的金鑰對來存取系統使用者帳戶,您可以將該共有金鑰新增到執行個體。

  • 如果某些人擁有私有金鑰的複本 (.pem 檔案),而您希望阻止他們連線到您的執行個體 (例如,如果他們已離開您的組織),則您可刪除該共有金鑰並用新的金鑰來取代它。

公有金鑰位於執行個體上的 .ssh/authorized_keys 檔案中。

若要新增或取代金鑰對,您必須能夠連線至您的執行個體。如果您已遺失現有的私有金鑰或您已在沒有金鑰對的情況下啟動執行個體,您將無法連線至執行個體,因此將無法新增或取代金鑰對。如果您已遺失私有金鑰,您可以擷取它。如需詳細資訊,請參閱 在遺失私密金鑰時連線到 Linux 執行個體。如果您已在沒有金鑰對的情況下啟動執行個體,除非您已選擇設定為允許使用者透過其他方式登入的 AMI,否則您將無法連線至該執行個體。

注意

這些程序是用來修改預設使用者帳戶 (例如 ec2-user) 的金鑰對。如需有關將使用者帳戶新增到執行個體的詳細資訊,請參閱 在您的 Amazon Linux 執行個體上管理使用者帳戶

新增或替換金鑰對

  1. 使用 Amazon EC2 主控台第三方工具來建立新的金鑰對。

  2. 從新的金鑰對擷取公有金鑰。如需詳細資訊,請參閱 從私有金鑰中擷取公有金鑰

  3. 使用現有的私有金鑰,連線到執行個體

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

  5. 中斷與執行個體的連線,然後測試是否能使用新的私有金鑰檔案來連線到執行個體。

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

注意

如果使用 Auto Scaling 群組,請確保在啟動範本或啟動組態中並未指定您要取代的金鑰對。如果 Amazon EC2 Auto Scaling 偵測到運作狀態不良的執行個體,則會啟動替代執行個體。不過,如果找不到金鑰對,執行個體啟動就會失敗。如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的啟動範本

刪除您的金鑰對

使用下列方法刪除金鑰對時,只會刪除您在建立匯入金鑰對時儲存在 Amazon EC2 中的公有金鑰。刪除金鑰對不會刪除先前使用該金鑰對啟動的任何執行個體中的公有金鑰。它也不會刪除您本機電腦上的私有金鑰。您可以繼續使用隨後將刪除的金鑰對來連線至已啟動的執行個體,只要您仍然擁有私有金鑰 (.pem) 檔案。

注意

若要從執行個體中刪除公有金鑰,請參閱從執行個體中刪除公有金鑰

如果使用 Auto Scaling 群組 (例如,在 Elastic Beanstalk 環境中),請確保在相關聯的啟動範本或啟動組態中並未指定您要刪除的金鑰對。如果 Amazon EC2 Auto Scaling 偵測到運作狀態不良的執行個體,則會啟動替代執行個體。不過,如果找不到金鑰對,執行個體啟動就會失敗。如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的啟動範本

您可以使用下列其中一種方法來刪除金鑰對。

Console

刪除您的金鑰對

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Key Pairs (金鑰對)

  3. 選取要刪除的金鑰對,然後選擇 Delete (刪除)

  4. 在確認欄位中,輸入 Delete,然後選擇 Delete (刪除)

AWS CLI

刪除您的金鑰對

使用 delete-key-pair AWS CLI 命令。

PowerShell

刪除您的金鑰對

使用 Remove-EC2KeyPair AWS Tools for Windows PowerShell 命令。

從執行個體中刪除公有金鑰

如果您從執行個體中建立 Linux AMI,則公有金鑰資訊會從執行個體複製到 AMI。如果從 AMI 中啟動執行個體,則新的執行個體會包含來自原始執行個體的公有金鑰。若要防止擁有私有金鑰的某些人連線到新執行個體,請從原始執行個體中刪除公有金鑰,然後再建立 AMI。

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

  1. 連線到您的執行個體

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

警告

從執行個體中刪除公有金鑰並從執行個體中斷連線後,除非 AMI 提供另一種登入方式,否則無法再次連線。