

# キーペアの詳細表示
<a name="describe-keys"></a>

Amazon EC2 に保存されているキーペアの詳細情報を表示できます。また、パブリックキーマテリアルを取得し、起動時に指定されたパブリックキーを特定することもできます。

**Topics**
+ [キーペアの詳細表示](#describe-public-key)
+ [パブリックキーマテリアルを取得する](#retrieving-the-public-key)
+ [起動時に指定されたパブリックキーを特定する](#identify-key-pair-specified-at-launch)

## キーペアの詳細表示
<a name="describe-public-key"></a>

Amazon EC2 に保存されているパブリックキーに関する次の情報を表示できます。パブリックキーの名前、ID、キーの種類、フィンガープリント、パブリックキーのマテリアル、Amazon EC2 によるキーの作成日時 (UTC タイムゾーン) (キーがサードパーティのツールで作成された場合はそのキーが Amazon EC2 にインポートされた日時)、およびパブリックキーに関連付けられているすべてのタグ。

------
#### [ Console ]

**キーペアに関する情報を表示するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. 左側のナビゲータで、**[Key Pairs]** (キーペア) を選択してください。

1. **[Key pairs]** (キーペア) テーブルで各パブリックキーに関する情報を確認できます。  
![\[キーペアテーブル。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/key-pairs-describe-console.png)

1. パブリックキーのタグを表示するにはキーの横にあるチェックボックスをオンにし、**[アクション]** および **[タグの管理]** を選択してください。

------
#### [ AWS CLI ]

**キーペアに関する情報を表示するには**  
[https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html) コマンドを使用します。

```
aws ec2 describe-key-pairs --key-names key-pair-name
```

------
#### [ PowerShell ]

**キーペアに関する情報を表示するには**  
[https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html) コマンドレットを使用します。

```
Get-EC2KeyPair -KeyName key-pair-name
```

------

## パブリックキーマテリアルを取得する
<a name="retrieving-the-public-key"></a>

キーペアのパブリックキーマテリアルを取得できます。以下はパブリックキーの例です。こちらは、読みやすいように改行が追加されています。

```
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\$1keys ファイル**] にパブリックキーが表示されます。パブリックキーは[**パブリックキーの保存**] を選択してファイルの名前を指定し、ファイルを保存後、そのファイルを開いて表示することもできます。

------
#### [ AWS CLI ]

**パブリックキーマテリアルを取得するには**  
次の [describe-key-pairs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html) コマンドを使用し、`--include-public-key` オプションを指定します。

```
aws ec2 describe-key-pairs \
    --key-names key-pair-name \
    --include-public-key \
    --query "KeyPairs[].PublicKey"
```

------
#### [ PowerShell ]

**パブリックキーマテリアルを取得するには**  
[Get-EC2KeyPair](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html) コマンドレットを使用します。

```
(Get-EC2KeyPair -KeyName key-pair-name -IncludePublicKey $true).PublicKey
```

------
#### [ IMDSv2 ]

**Linux**  
次のコマンドを 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
```

**Server**  
次のコマンドレットを Windows インスタンスから実行します。

```
[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
```

**Server**  
次のコマンドレットを Windows インスタンスから実行します。

```
Invoke-RestMethod -uri  http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
```

------

## 起動時に指定されたパブリックキーを特定する
<a name="identify-key-pair-specified-at-launch"></a>

インスタンスを起動する際にパブリックキーを指定した場合、インスタンスによりパブリックキー名が記録されます。インスタンスのパブリックキーを変更したり、パブリックキーを追加したりしても、インスタンスで報告されたパブリックキー名は変更されません。

------
#### [ Console ]

**インスタンスの起動時に指定されたパブリックキーを特定するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. インスタンスを選択します。

1. **[詳細]** タブの **[インスタンスの詳細]** で、**[起動時に割り当てられたキーペア]** を見つけます。

------
#### [ AWS CLI ]

**インスタンスの起動時に指定されたパブリックキーを特定するには**  
次の [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) コマンドを使用します。

```
aws ec2 describe-instances \
    --instance-id i-1234567890abcdef0 \
    --query "Reservations[].Instances[].KeyName" \
    --output text
```

以下は出力の例です。

```
key-pair-name
```

------
#### [ PowerShell ]

**インスタンスの起動時に指定されたパブリックキーを特定するには**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) コマンドレットを使用します。

```
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances | Select KeyName
```

以下は出力の例です。

```
KeyName
-------
key-pair-name
```

------