為您的 Amazon EC2 執行個體建立 key pair - Amazon Elastic Compute Cloud

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

為您的 Amazon EC2 執行個體建立 key pair

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

Amazon EC2 支援適用於 Linux 和視窗執行個體的 2048 位元 SSH-2 RSA 金鑰。Amazon EC2 也支援適用於 Linux 執行個體的 ED25519 金鑰。

如需在建立 key pair 之後使用 SSH 連線至 Linux 執行個體的步驟,請參閱連接至您的 Linux 執行個體

如需在建立 key pair 之後,使用 RDP 連線至 Windows 執行個體的步驟,請參閱連線至 Windows 執行個體

使用 Amazon EC2 建立金鑰對

使用 Amazon EC2 建立金鑰對時,公有金鑰會儲存在 Amazon EC2 中,而您可儲存私有金鑰。

每個區域最多可以建立 5,000 個金鑰配對。若要請求增加,請建立支援案例。如需詳細資訊,請參閱 AWS Support 使用者指南中的建立支援案例

Console
使用 Amazon EC2 建立金鑰對
  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 類型:

    (Linux 執行個體) 針對金鑰配對類型,請選擇 RSAED25519

    (視窗執行個體) 針對金鑰配對類型,選擇 RSA。視窗執行個體不支援 ED25519 金鑰。

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

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

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

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

    重要

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

  10. (Linux 執行個體) 如果您打算在 macOS 或 Linux 電腦上使用安全殼層用戶端連線到 Linux 執行個體,請使用下列指令來設定私密金鑰檔案的權限,以便只有您可以讀取它。

    chmod 400 key-pair-name.pem

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

AWS CLI
使用 Amazon EC2 建立金鑰對
  1. 按如下說明,使用 create-key-pair 命令,產生金鑰對並將私有金鑰儲存到 .pem 檔案中。

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

    對於 --key-type,指定 rsaed25519. 如果您未包含 --key-type 參數,預設會建立 rsa 金鑰。請注意,Windows 執行個體不支援 ED25519 金鑰。

    對於 --key-format,指定 pemppk。如果您未包含 --key-format 參數,預設會建立 pem 檔案。

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

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

    aws ec2 create-key-pair \ --key-name my-key-pair \ --key-type rsa \ --key-format pem \ --query "KeyMaterial" \ --output text > my-key-pair.pem
  2. (Linux 執行個體) 如果您打算在 macOS 或 Linux 電腦上使用安全殼層用戶端連線到 Linux 執行個體,請使用下列指令來設定私密金鑰檔案的權限,以便只有您可以讀取它。

    chmod 400 key-pair-name.pem

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

PowerShell
使用 Amazon EC2 建立金鑰對

使用如下New-EC2KeyPair AWS Tools for Windows PowerShell 命令來生成密鑰並將其保存到.pem.ppk文件中。

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

對於 -KeyType,指定 rsaed25519. 如果您未包含 -KeyType 參數,預設會建立 rsa 金鑰。請注意,Windows 執行個體不支援 ED25519 金鑰。

對於 -KeyFormat,指定 pemppk。如果您未包含 -KeyFormat 參數,預設會建立 pem 檔案。

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

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

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

使用建立 key pair AWS CloudFormation

使用建立新 key pair 時 AWS CloudFormation,私密金鑰會儲存至 AWS Systems Manager 參數存放區。參數名稱具有以下格式:

/ec2/keypair/key_pair_id

如需詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的 AWS Systems Manager 參數存放區

若要使用建立 key pair AWS CloudFormation
  1. 在範本中指定AWS::EC2::KeyPair資源。

    Resources: NewKeyPair: Type: 'AWS::EC2::KeyPair' Properties: KeyName: new-key-pair
  2. 按如下說明,使用 describe-key-pairs 命令以取得金鑰對 ID。

    aws ec2 describe-key-pairs --filters Name=key-name,Values=new-key-pair --query KeyPairs[*].KeyPairId --output text

    下列為範例輸出。

    key-05abb699beEXAMPLE
  3. 按如下說明,使用 get-parameter 命令以取得金鑰參數,並將金鑰材料儲存在 .pem 檔案中。

    aws ssm get-parameter --name /ec2/keypair/key-05abb699beEXAMPLE --with-decryption --query Parameter.Value --output text > new-key-pair.pem
所需的 IAM 許可

若 AWS CloudFormation 要啟用以代表您管理參數存放區參數,您 AWS CloudFormation 或您的使用者所擔任的 IAM 角色必須具有下列權限:

  • ssm:PutParameter – 授予許可,以建立私有金鑰材料的參數。

  • ssm:DeleteParameter - 准許刪除用來存放私有金鑰材料的參數。無論金鑰對是否是由 AWS CloudFormation匯入或建立,都需要此許可。

AWS CloudFormation 刪除由堆疊建立或匯入的 key pair 時, AWS CloudFormation 會執行權限檢查以判斷您是否具有刪除參數的權限,即使只在建立 key pair 時建立參數,而不是在匯入 key pair 時建立參數。 AWS CloudFormation 使用與您帳戶中任何參數不相符的製造參數名稱來測試所需權限。因此,您可能會在 AccessDeniedException 錯誤訊息中看到虛構參數名稱。

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

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

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

  • 支援的格式:

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

    • SSH 私有金鑰檔案格式必須是 PEM 或 PPK

    • (僅 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 或 PPK 格式。例如:使用 ssh-keygen -m PEM 來產生 PEM 格式的 OpenSSH 金鑰。

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

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

    重要

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

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

金鑰對的需求
  • 支援的類型:RSA。Amazon EC2 不接受 DSA 金鑰。

    注意

    Windows 執行個體不支援 ED25519 金鑰。

  • 支援的格式:

    • 公開金鑰格式

    • SSH 私有金鑰檔案格式必須是 PEM 或 PPK

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

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

  • 支援的長度:1024、2048 和 4096。

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

    重要

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

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

  3. 將私有金鑰儲存到具有 .pem.ppk 副檔名的本機檔案。例如 C:\keys\my-key-pair.pemC:\keys\my-key-pair.ppk。此檔案的副檔名很重要,因為從 EC2 主控台連線到 Windows 執行個體時,只.pem能選取檔案。

    重要

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

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

Console
將公有金鑰匯入至 Amazon EC2
  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
將公有金鑰匯入至 Amazon EC2

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

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

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

PowerShell
將公有金鑰匯入至 Amazon EC2

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

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

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