本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為您的 Amazon EC2執行個體建立金鑰對
您可以使用 Amazon EC2來建立金鑰對,或使用第三方工具來建立金鑰對,然後將其匯入 Amazon EC2。
Amazon EC2支援 Linux 和 Windows 執行個體的 2048 位元 SSH-2 RSA金鑰。Amazon EC2也支援 Linux 執行個體的ED25519金鑰。
如需建立金鑰對後如何連線至執行個體的指示,請參閱 使用 Connect 到您的 Linux 執行個體 SSH和 使用 連線至 Windows 執行個體 RDP。
使用 Amazon 建立金鑰對 EC2
當您使用 Amazon 建立金鑰對時EC2,公有金鑰會儲存在 Amazon 中EC2,而您會存放私有金鑰。
每個區域最多可以建立 5,000 個金鑰對。若要請求增加,請建立支援案例。如需詳細資訊,請參閱 AWS Support 使用者指南中的建立支援案例。
使用 建立金鑰對 AWS CloudFormation
當您使用 建立新的金鑰對時 AWS CloudFormation,私有金鑰會儲存至 AWS Systems Manager 參數存放區。參數名稱具有以下格式:
/ec2/keypair/key_pair_id
如需詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的 AWS Systems Manager 參數存放區。
使用 建立金鑰對 AWS CloudFormation
-
在範本中指定 AWS:EC2:::KeyPair 資源。
Resources: NewKeyPair: Type: 'AWS::EC2::KeyPair' Properties: KeyName: new-key-pair
-
使用 describe-key-pairs 命令以取得金鑰對的 ID。
aws ec2 describe-key-pairs --filters Name=key-name,Values=
new-key-pair
--query KeyPairs[*].KeyPairId --output text下列為範例輸出。
key-05abb699beEXAMPLE
-
使用 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 刪除由堆疊建立或匯入的金鑰對時,它會執行許可檢查,以確定您是否具有刪除參數的許可,即使僅在建立金鑰對時 AWS CloudFormation 建立參數,而不是在匯入金鑰對時建立參數。 會使用與您帳戶中任何參數不相符的製造參數名稱來 AWS CloudFormation 測試必要的許可。因此,您可能會在 AccessDeniedException
錯誤訊息中看到虛構參數名稱。
使用第三方工具建立金鑰對,並將公有金鑰匯入 Amazon EC2
您可以使用第三方工具建立 RSA或 ED25519 金鑰對,然後將公有金鑰匯入 Amazon ,而不是使用 Amazon EC2來建立金鑰對EC2。
金鑰對的需求
-
支援的類型:
-
(Linux 和 Windows) RSA
-
(僅限 Linux) ED25519
注意
ED25519 Windows 執行個體不支援 金鑰。
-
Amazon EC2不接受DSA金鑰。
-
-
支援的格式:
-
開啟SSH公有金鑰格式 (對於 Linux,則為 中的格式
~/.ssh/authorized_keys
) -
(僅限 Linux) 如果您在使用 EC2 Instance Connect SSH時使用 連線API,則也支援 SSH2 格式。
-
SSH 私有金鑰檔案格式必須為 PEM或 PPK
-
(RSA僅限 ) Base64 編碼DER格式
-
(RSA僅限 ) SSH 公有金鑰檔案格式,如 RFC 4716
中所指定
-
-
支援的長度:
-
1024、2048 和 4096。
-
(僅限 Linux) 如果您在使用 EC2 Instance Connect SSH時使用 連線API,則支援的長度為 2048 和 4096。
-
使用第三方工具來產生金鑰對
-
使用您自選的第三方工具來產生金鑰對 例如,您可以使用 ssh-keygen(標準 OpenSSH 安裝隨附的工具)。或者,Java、Ruby、Python 和許多其他程式設計語言提供標準程式庫,可用於建立金鑰對。
重要
私有金鑰必須是 PEM或 PPK 格式。例如,使用
ssh-keygen -m PEM
產生 PEM 格式的 OpenSSH 金鑰。 -
將公有金鑰儲存到本機檔案。例如,
~/.ssh/my-key-pair.pub
(Linux、macOS ) 或C:\keys\my-key-pair.pub
(Windows)。此檔案的副檔名不重要。 -
將私有金鑰儲存到具有
.pem
或.ppk
副檔名的本機檔案。例如,~/.ssh/my-key-pair.pem
或~/.ssh/my-key-pair.ppk
(Linux、macOS ) 或C:\keys\my-key-pair.pem
或C:\keys\my-key-pair.ppk
(Windows)。副檔名很重要,因為根據您用來連線到執行個體的工具,您將需要特定的檔案格式。OpenSSH 需要.pem
檔案,而 PuTTY 需要.ppk
檔案。重要
將私有金鑰檔案存放在安全的地方。您在啟動執行個體時需要提供公有金鑰的名稱,且每次連線至執行個體時也需要提供對應的私有金鑰。
建立金鑰對後,請使用下列其中一種方法來將公有金鑰匯入 Amazon EC2。