本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
描述您的金鑰配對
您可以說明存放在 Amazon EC2 中的金鑰配對。您也可以擷取公有金鑰材料,並辨識啟動時指定的公有金鑰。
描述您的金鑰配對
您可以查看存放於 Amazon EC2 中公有金鑰的以下資訊:公有金鑰名稱、ID、金鑰類型、指紋、公有金鑰資料、Amazon EC2 建立金鑰的日期和時間 (UTC 時區) (若金鑰是由第三方工具所建立,則為該金鑰匯入 Amazon EC2 的日期及時間),以及任何與公有金鑰相關聯的標籤。
您可以使用 Amazon EC2 主控台或 AWS CLI 檢視有關公開金鑰的資訊。
- Console
-
檢視您的公有金鑰相關資訊
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在左側導覽器中,選擇 Key Pairs (金鑰對)。
-
您可以在金鑰對表中檢視每個公有金鑰的相關資訊。
-
若要檢視公有金鑰標籤,請勾選金鑰旁的核取方塊,然後選取 Actions (動作)、Manage tags (管理標籤)。
- AWS CLI
-
描述公有金鑰
使用 describe-key-pairs 命令,並指定
--key-names
參數。aws ec2 describe-key-pairs --key-names
key-pair-name
範例輸出
{ "KeyPairs": [ { "KeyPairId": "key-0123456789example", "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f", "KeyName": "key-pair-name", "KeyType": "rsa", "Tags": [], "CreateTime": "2022-04-28T11:37:26.000Z" } ] }
您也可以不要
--key-names
,而是指定--key-pair-ids
參數來識別公有金鑰。aws ec2 describe-key-pairs --key-pair-ids
key-0123456789example
若要查看輸出中的公有金鑰資料,您必須指定
--include-public-key
參數。aws ec2 describe-key-pairs --key-names
key-pair-name
--include-public-key範例輸出:在輸出中,
PublicKey
欄位會包含公有金鑰資料。{ "KeyPairs": [ { "KeyPairId": "key-0123456789example", "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f", "KeyName": "key-pair-name", "KeyType": "rsa", "Tags": [], "PublicKey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIj7azlDjVHAsSxgcpCRZ3oWnTm0nAFM64y9jd22ioI/ my-key-pair", "CreateTime": "2022-04-28T11:37:26.000Z" } ] }
擷取公有金鑰資料
您可以使用多種不同的方法來存取公有金鑰資料。您可以從本機電腦上相符的私密金鑰、使用公開金鑰啟動的執行個體中繼資料,或使用describe-key-pairs
AWS CLI 指令,擷取公開金鑰資料。對於 Linux 執行個體,也可以從執行個體上的authorized_keys
檔案擷取公開金鑰材料。
使用下列其中一種方法擷取公有金鑰材料。
- From the private key
-
從私有金鑰中擷取公有金鑰材料
在本機的 Linux 或 macOS 電腦上,您可以使用 ssh-keygen 命令來擷取金鑰對的公有金鑰。指定已將私有金鑰 (
.pem
檔案) 下載至其中的路徑。ssh-keygen -y -f /
path_to_key_pair
/my-key-pair.pem
此命令會傳回公有金鑰,如下列範例所示。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
如果此命令失敗,請執行下列命令,來確保您已在私有金鑰對檔案中變更許可,以便只有您能夠檢視它。
chmod 400
key-pair-name
.pem - From the instance metadata
-
您可以使用執行個體中繼資料服務第 2 版或執行個體中繼資料服務第 1 版,從執行個體中繼資料擷取公有金鑰。
注意
如果變更用於連接到執行個體的金鑰對,Amazon EC2 不會更新執行個體中繼資料以顯示新的公有金鑰。執行個體中繼資料會繼續顯示啟動執行個體時指定之金鑰對的公有金鑰。
從執行個體中繼資料擷取公有金鑰
從執行個體使用下列其中一個命令。
IMDSV2
[ec2-user ~]$
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
IMDSv1
[ec2-user ~]$
curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
範例輸出
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE key-pair-name
如需執行個體中繼資料的詳細資訊,請參閱擷取執行個體中繼資料。
- From the instance
-
若您在啟動 Linux 執行個體時指定金鑰對,當執行個體第一次啟動時,公有金鑰內容會放置在
~/.ssh/authorized_keys
內項目的執行個體上。從執行個體擷取公有金鑰材料
-
在終端機視窗中,使用您最愛的文字編輯器 (例如
authorized_keys
或 vim) 開啟 nano 檔案。[ec2-user ~]$
nano ~/.ssh/authorized_keys
authorized_keys
檔案開啟,會顯示公有金鑰,後面為金鑰對的名稱。下列是名為
之金鑰對的輸入內容範例。key-pair-name
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
key-pair-name
- From describe-key-pairs
-
使用
describe-key-pairs
AWS CLI 命令擷取公有金鑰使用 describe-key-pairs 命令,然後指定
--key-names
參數來識別公有金鑰。若要在輸出中包含公有金鑰資料,請指定--include-public-key
參數。aws ec2 describe-key-pairs --key-names
key-pair-name
--include-public-key範例輸出:在輸出中,
PublicKey
欄位會包含公有金鑰資料。{ "KeyPairs": [ { "KeyPairId": "key-0123456789example", "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f", "KeyName": "key-pair-name", "KeyType": "rsa", "Tags": [], "PublicKey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIj7azlDjVHAsSxgcpCRZ3oWnTm0nAFM64y9jd22ioI/ my-key-pair", "CreateTime": "2022-04-28T11:37:26.000Z" } ] }
您也可以不要
--key-names
,而是指定--key-pair-ids
參數來識別公有金鑰。aws ec2 describe-key-pairs --key-pair-ids
key-0123456789example
--include-public-key
- From the private key
-
從私有金鑰中擷取公有金鑰材料
在本機的 Windows 電腦上,您可以使用 PuTTYgen 來擷取金鑰對的公有金鑰。
啟動 PuTTYgen 並選擇 Load (載入)。選取
.ppk
或.pem
私有金鑰檔案。PuTTYgen 會在 Public key for pasting into OpenSSH authorized_keys file (貼到 OpenSSH authorized_keys 檔案的公有金鑰) 下顯示公有金鑰。您也可以選擇 Save public key (儲存公有金鑰)、指定檔案名稱、儲存檔案,然後開啟檔案,以檢視公有金鑰。 - From the instance metadata
-
您可以使用執行個體中繼資料服務第 2 版或執行個體中繼資料服務第 1 版,從執行個體中繼資料擷取公有金鑰。
注意
如果變更用於連接到執行個體的金鑰對,Amazon EC2 不會更新執行個體中繼資料以顯示新的公有金鑰。執行個體中繼資料會繼續顯示啟動執行個體時指定之金鑰對的公有金鑰。
從執行個體中繼資料擷取公有金鑰
從執行個體使用下列其中一個命令。
IMDSV2
PS C:\>
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
PS C:\>
Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
IMDSv1
PS C:\>
Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
範例輸出
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE key-pair-name
如需執行個體中繼資料的詳細資訊,請參閱擷取執行個體中繼資料。
- From describe-key-pairs
-
使用
describe-key-pairs
AWS CLI 命令擷取公有金鑰使用 describe-key-pairs 命令,然後指定
--key-names
參數來識別公有金鑰。若要在輸出中包含公有金鑰資料,請指定--include-public-key
參數。aws ec2 describe-key-pairs --key-names
key-pair-name
--include-public-key範例輸出:在輸出中,
PublicKey
欄位會包含公有金鑰資料。{ "KeyPairs": [ { "KeyPairId": "key-0123456789example", "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f", "KeyName": "key-pair-name", "KeyType": "rsa", "Tags": [], "PublicKey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIj7azlDjVHAsSxgcpCRZ3oWnTm0nAFM64y9jd22ioI/ my-key-pair", "CreateTime": "2022-04-28T11:37:26.000Z" } ] }
您也可以不要
--key-names
,而是指定--key-pair-ids
參數來識別公有金鑰。aws ec2 describe-key-pairs --key-pair-ids
key-0123456789example
--include-public-key
識別啟動時指定的公有金鑰
如果您在啟動執行個體時指定了公有金鑰,執行個體會記錄公有金鑰名稱。
識別啟動時指定的公有金鑰
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選取 Instances (執行個體),然後選取您的執行個體。
-
在詳細資訊標籤中,執行個體詳細資訊下的啟動時指派的金鑰對欄位會顯示您在啟動執行個體時指定的公有金鑰名稱。
注意
即使您變更執行個體上的公有金鑰,或新增公有金鑰,啟動時指派的金鑰對欄位的值也不會變更。