キーペアの詳細表示 - Amazon Elastic Compute Cloud

キーペアの詳細表示

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

キーペアの詳細表示

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

Amazon EC2 コンソールまたは AWS CLI を使用して、パブリックキーに関する情報を表示できます。

Console
パブリックキーに関する情報を表示するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. 左側のナビゲータで、[Key Pairs] (キーペア) を選択します。

  3. [Key pairs] (キーペア) テーブルで各パブリックキーに関する情報を確認できます。

    キーペアテーブル。
  4. パブリックキーのタグを表示するには、キーの横にあるチェックボックスをオンにし、[アクション] および [タグの管理] を選択します。

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" } ] }

パブリックキーマテリアルを取得する

さまざまな方法を使用して、パブリックキーマテリアルにアクセスできます。パブリックキーマテリアルは、ローカルコンピュータ上の一致するプライベートキーから、またはパブリックキーで起動したインスタンスのインスタンスメタデータから取得するか、AWS CLI コマンド describe-key-pairs を使用することで取得することができます。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

インスタンスのメタデータの詳細については、EC2 インスタンスのインスタンスメタデータにアクセスするを参照してください。

From the instance

Linux インスタンスを起動するときにキーペアを指定した場合、そのインスタンスの最初の起動時に、パブリックキーの内容がインスタンスの ~/.ssh/authorized_keys 内にエントリとして配置されます。

インスタンスからパブリックキーマテリアルを取得するには
  1. インスタンスに接続します

  2. ターミナルウィンドウで、任意のテキストエディタ (authorized_keysvim など) を使用して 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-pairsAWS 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 ファイル] にパブリックキーが表示されます。パブリックキーは、[パブリックキーの保存] を選択してファイルの名前を指定し、ファイルを保存後、そのファイルを開いて表示することもできます。

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

インスタンスのメタデータの詳細については、EC2 インスタンスのインスタンスメタデータにアクセスするを参照してください。

From describe-key-pairs
describe-key-pairsAWS 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

起動時に指定されたパブリックキーを特定する

インスタンスを起動する際にパブリックキーを指定した場合、インスタンスによりパブリックキー名が記録されます。

起動時に指定されたパブリックキーを特定するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで [インスタンス] を選択し、インスタンスを選択します。

  3. [詳細] タブの [インスタンスの詳細] にある [起動時に割り当てられたキーペア] フィールドに、インスタンスの起動時に指定したパブリックキーの名前が表示されます。

注記

インスタンスのパブリックキーを変更したり、パブリックキーを追加したりしても、[起動時に割り当てられたキーペア] フィールドの値は変更されません。