本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以使用 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個金鑰對。若要申請增加,請建立支援案例。如需詳細資訊,請參閱 支援 使用者指南中的建立支援案例。
使用 Amazon EC2 建立金鑰對
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
請在導覽窗格的 Network & Security (網路與安全性) 下方,選擇 Key Pairs (金鑰對)。
-
選擇 Create key pair (建立金鑰對)。
-
對於 Name (名稱),輸入金鑰對的描述性名稱。Amazon EC2 會將公有金鑰與您指定為金鑰名稱的名稱相關聯。金鑰名稱最多可包含 255 個 ASCII 字元。它不能包括前置或結尾空格。
-
選取適合您作業系統的金鑰對類型:
(Linux 執行個體) 針對金鑰對類型,選擇 RSA 或 ED25519。
(Windows 執行個體) 針對金鑰對類型,選擇 RSA。Windows 執行個體不支援 ED25519 金鑰。
-
針對 Private key file format (私有金鑰檔案格式),選擇私有金鑰的儲存格式。若要將私有金鑰儲存為可與 OpenSSH 搭配使用的格式,請選擇 pem。若要將私有金鑰儲存為可與 PuTTY 搭配使用的格式,請選擇 ppk。
-
若要向公有金鑰新增標籤,請選擇 Add tag (新增標籤),然後輸入標籤的金鑰和值。針對每個標籤,重複執行上述動作。
-
選擇 Create key pair (建立金鑰對)。
-
您的瀏覽器會自動下載私有金鑰檔案。基礎檔案名稱是您所指定的金鑰對名稱,而副檔名是根據您選擇的檔案格式所決定。將私有金鑰檔案存放在安全的地方。
重要
這是您儲存私有金鑰檔案的唯一機會。
-
如果您計劃在 macOS 或 Linux 電腦上使用 SSH 用戶端連線至 Linux 執行個體,請使用下列命令設定私有金鑰檔案的許可,以便只有您能夠讀取該檔案。
chmod 400
key-pair-name
.pem如果您未設定這些許可,則無法使用此金鑰對來連接至您的執行個體。如需詳細資訊,請參閱錯誤:未受保護的私有金鑰檔案。
使用 建立金鑰對 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。
將公有金鑰匯入至 Amazon EC2
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Key Pairs (金鑰對)。
-
選擇 Import key pair (匯入金鑰對)。
-
在 Name (名稱) 處,輸入公有金鑰的描述性名稱。名稱最多可包含 255 個 ASCII 字元。它不能包括前置或結尾空格。
注意
當您從 EC2 主控台連線到執行個體時,主控台會為您的私有金鑰檔案名稱建議此名稱。
-
選取 Browse (瀏覽) 以導覽並選取您的公有金鑰,或將公有金鑰的內容貼到 Public key contents (公有金鑰內容) 欄位。
-
選擇 Import key pair (匯入金鑰對)。
-
確認您匯入的公開金鑰出現在金鑰對清單中。