本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
描述金鑰對
您可以描述存放在 Amazon EC2 中的金鑰對。您也可以擷取公有金鑰材料,並辨識啟動時指定的公有金鑰。
描述金鑰對
您可以查看存放於 Amazon EC2 中公有金鑰的以下資訊:公有金鑰名稱、ID、金鑰類型、指紋、公有金鑰資料、Amazon EC2 建立金鑰的日期和時間 (UTC 時區) (若金鑰是由第三方工具所建立,則為該金鑰匯入 Amazon EC2 的日期及時間),以及任何與公有金鑰相關聯的標籤。
- Console
-
- AWS CLI
-
如需檢視金鑰對的相關資訊
使用 describe-key-pairs 命令。
aws ec2 describe-key-pairs --key-names key-pair-name
- PowerShell
-
如需檢視金鑰對的相關資訊
使用 Get-EC2KeyPair cmdlet。
Get-EC2KeyPair -KeyName 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
- Private key
-
如需使用 ssh-keygen (Linux) 來擷取公有金鑰資料
請在本機 Linux 或 macOS 電腦使用 ssh-keygen 命令。指定已將私有金鑰 (.pem 檔案) 下載至其中的路徑。
ssh-keygen -y -f /path_to_key_pair/my-key-pair.pem
若此 ssh-keygen 命令失敗,執行下面的 chmod 命令,確認私有金鑰檔案擁有必要的許可。
chmod 400 key-pair-name.pem
如需使用 PuTTYgen 來擷取公有金鑰資料 (Windows)
請在本機 Windows 電腦啟動 PuTTYgen。選擇載入。選取 .ppk 或 .pem 私有金鑰檔案。PuTTYgen 會在 Public key for pasting into OpenSSH authorized_keys file (貼到 OpenSSH authorized_keys 檔案的公有金鑰) 下顯示公有金鑰。您也可以選擇 Save public key (儲存公有金鑰)、指定檔案名稱、儲存檔案,然後開啟檔案,以檢視公有金鑰。
- AWS CLI
-
如需擷取公有金鑰資料
請使用下面的 describe-key-pairs 命令並指定 --include-public-key 選項。
aws ec2 describe-key-pairs \
--key-names key-pair-name \
--include-public-key \
--query "KeyPairs[].PublicKey"
- PowerShell
-
如需擷取公有金鑰資料
請使用 Get-EC2KeyPair 命令。
(Get-EC2KeyPair -KeyName key-pair-name -IncludePublicKey $true).PublicKey
- IMDSv2
-
Linux
透過執行個體執行下面的命令。
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
Windows
透過 Windows 執行個體執行下面的 cmdlet。
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
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
-
Linux
透過 Linux 執行個體執行下面的命令。
curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
Windows
透過 Windows 執行個體中執行下列 cmdlet。
Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
識別啟動時指定的公有金鑰
如果您在啟動執行個體時指定了公有金鑰,執行個體會記錄公有金鑰名稱。即使您變更執行個體上的公有金鑰,或新增公有金鑰,執行個體的公有金鑰名稱也不會變更。
- Console
-
- AWS CLI
-
如需確定啟動時指定的公有金鑰
使用下面的 describe-instances 命令。
aws ec2 describe-instances \
--instance-id i-1234567890abcdef0 \
--query "Reservations[].Instances[].KeyName" \
--output text
以下為範例輸出。
key-pair-name
- PowerShell
-
如需確定啟動時指定的公有金鑰
使用 Get-EC2Instance cmdlet。
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances | Select KeyName
以下為範例輸出。
KeyName
-------
key-pair-name