本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為您的 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 使用者指南中的建立支援案例。
使用建立 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
-
在範本中指定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 刪除由堆疊建立或匯入的 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。
使用第三方工具來產生金鑰對
-
使用您自選的第三方工具來產生金鑰對 例如:您可以使用 ssh-keygen (標準 OpenSSH 安裝隨附的工具)。或者,Java、Ruby、Python 和其他多種程式設計語言提供了標準程式庫,您可以使用這些程式庫來產生 RSA 或 ED25519 金鑰對。
重要
私有金鑰必須是 PEM 或 PPK 格式。例如:使用
ssh-keygen -m PEM
來產生 PEM 格式的 OpenSSH 金鑰。 -
將公有金鑰儲存到本機檔案。例如,
~/.ssh/my-key-pair.pub
。此檔案的副檔名不重要。 -
將私有金鑰儲存到具有
.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。
使用第三方工具來產生金鑰對
-
使用您自選的第三方工具來產生金鑰對 例如:您可以使用 ssh-keygen (標準 OpenSSH 安裝隨附的工具)。或者,Java、Ruby、Python 和其他多種程式設計語言提供了標準程式庫,您可以使用這些程式庫來產生 RSA 金鑰對。
重要
私有金鑰必須是 PEM 或 PPK 格式。例如:使用
ssh-keygen -m PEM
來產生 PEM 格式的 OpenSSH 金鑰。 -
將公有金鑰儲存到本機檔案。例如,
C:\keys\my-key-pair.pub
。此檔案的副檔名不重要。 -
將私有金鑰儲存到具有
.pem
或.ppk
副檔名的本機檔案。例如C:\keys\my-key-pair.pem
或C:\keys\my-key-pair.ppk
。此檔案的副檔名很重要,因為從 EC2 主控台連線到 Windows 執行個體時,只.pem
能選取檔案。重要
將私有金鑰檔案存放在安全的地方。您在啟動執行個體時需要提供公有金鑰的名稱,且每次連線至執行個體時也需要提供對應的私有金鑰。
建立金鑰對之後,請使用以下其中一個方法,將您的公有金鑰匯入 Amazon EC2。