本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為您的 Amazon EC2 執行個體建立金鑰對
您可以使用 Amazon EC2 來建立金鑰對,或使用第三方工具產生金鑰對,然後再將其匯入 Amazon EC2。
Amazon EC2 可支援 Linux 和 Windows 執行個體的 2048位元 SSH-2 RSA 金鑰。Amazon EC2 也支援 Linux 執行個體上的 ED25519 金鑰。
如需有關如何在建立金鑰對後連線至執行個體的說明,請參閱 使用 SSH 連線至您的 Linux 執行個體 和 使用 RDF 連接至您的 Windows 執行個體。
使用 Amazon EC2 建立金鑰對
使用 Amazon EC2 建立金鑰對時,公有金鑰會儲存在 Amazon EC2 中,而您可儲存私有金鑰。
每個區域最多可建立 5,000個金鑰對。若要申請增加,請建立支援案例。如需詳細資訊,請參閱 支援 使用者指南中的建立支援案例。
使用 建立金鑰對 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
您可以不使用 Amazon EC2 來建立金鑰對,而改用第三方工具來建立 RSA 或 ED25519 金鑰對,然後再將公有金鑰匯入 Amazon EC2。
金鑰對的需求
-
支援的類型:
-
(Linux 與 Windows) RSA
-
(僅限 Linux) ED25519
注意
Windows 執行個體不支援 ED25519 金鑰。
-
Amazon EC2 不接受 DSA 金鑰。
-
-
支援的格式:
-
OpenSSH 公有金鑰格式 (若為 Linux,
~/.ssh/authorized_keys
中的格式)。 -
(僅限 Linux) 如果您在使用 EC2 Instance Connect API 時以 SSH 連線,則還支援 SSH2 格式。
-
SSH 私有金鑰檔案格式必須是 PEM 或 PPK
-
(僅 RSA) Base64 編碼的 DER 格式
-
(僅 RSA) 如 RFC 4716
中所指定的 SSH 公有金鑰檔案格式
-
-
支援的長度:
-
1024、2048 和 4096。
-
(僅限 Linux) 如果您在使用 EC2 Instance Connect API 時以 SSH 連線,則支援的長度為 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。