キーペアの詳細表示
Amazon EC2 に保存されているキーペアの詳細情報を表示できます。また、パブリックキーマテリアルを取得し、起動時に指定されたパブリックキーを特定することもできます。
キーペアの詳細表示
Amazon EC2 に保存されているパブリックキーに関する次の情報を表示できます。パブリックキーの名前、ID、キーの種類、フィンガープリント、パブリックキーのマテリアル、Amazon EC2 によるキーの作成日時 (UTC タイムゾーン) (キーがサードパーティのツールで作成された場合は、そのキーが Amazon EC2 にインポートされた日時)、およびパブリックキーに関連付けられているすべてのタグ。
Amazon EC2 コンソールまたは AWS CLI を使用して、パブリックキーに関する情報を表示できます。
- Console
-
パブリックキーに関する情報を表示するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
左側のナビゲータで、[Key Pairs] (キーペア) を選択します。
-
[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" } ] }
パブリックキーマテリアルを取得する
さまざまな方法を使用して、パブリックキーマテリアルにアクセスできます。パブリックキーマテリアルは、ローカルコンピュータ上の一致するプライベートキーから、またはパブリックキーで起動したインスタンスのインスタンスメタデータから取得するか、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
内にエントリとして配置されます。インスタンスからパブリックキーマテリアルを取得するには
-
ターミナルウィンドウで、任意のテキストエディタ (
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 ファイル] にパブリックキーが表示されます。パブリックキーは、[パブリックキーの保存] を選択してファイルの名前を指定し、ファイルを保存後、そのファイルを開いて表示することもできます。 - 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-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
起動時に指定されたパブリックキーを特定する
インスタンスを起動する際にパブリックキーを指定した場合、インスタンスによりパブリックキー名が記録されます。
起動時に指定されたパブリックキーを特定するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで [インスタンス] を選択し、インスタンスを選択します。
-
[詳細] タブの [インスタンスの詳細] にある [起動時に割り当てられたキーペア] フィールドに、インスタンスの起動時に指定したパブリックキーの名前が表示されます。
注記
インスタンスのパブリックキーを変更したり、パブリックキーを追加したりしても、[起動時に割り当てられたキーペア] フィールドの値は変更されません。