

# キーペアのフィンガープリントを確認する
<a name="verify-keys"></a>

キーペアのフィンガープリントを確認するにはAmazon EC2 コンソールの **[キーペア]** ページに表示される、または [describe-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html) コマンドによって返されるフィンガープリントを、ローカルコンピュータのプライベートキーを使用して生成したフィンガープリントと比較します。これらのフィンガープリントは一致するはずです。

Amazon EC2 がフィンガープリントを計算するとき、Amazon EC2 はフィンガープリントに `=` 文字でパディングを追加することがあります。**ssh-keygen** などのその他のツールではこのパディングを省略することがあります。

キーペアのフィンガープリントではなく Linux EC2 インスタンスのフィンガープリントを検証しようとしている場合は「[インスタンスのフィンガープリントを取得する](connection-prereqs-general.md#connection-prereqs-fingerprint)」を参照してください。

## フィンガープリントの計算方法
<a name="how-ec2-key-fingerprints-are-calculated"></a>

Amazon EC2 はRSA および ED25519 キーペアのフィンガープリントを計算するために、さまざまなハッシュ関数を使用します。さらに、RSA キーペアの場合、Amazon EC2 はキーペアが Amazon EC2 によって作成されたか、Amazon EC2 にインポートされたかに応じて、異なるハッシュ関数を使用して異なる方法でフィンガープリントを計算します。

次の表はAmazon EC2 で作成され、Amazon EC2 にインポートされた RSA および ED25519 キーペアの、フィンガープリントの計算に使用されるハッシュ関数の一覧です。


**(Linux インスタンス) フィンガープリントの計算に使用されるハッシュ関数**  

| キーペアのソース | RSA キーペア (Windows および Linux) | ED25519 キーペア (Linux) | 
| --- | --- | --- | 
| Amazon EC2 によって作成された | SHA-1 | SHA-256 | 
| Amazon EC2 にインポートされた | MD5¹ | SHA-256 | 

¹ パブリック RSA キーを Amazon EC2 にインポートした場合、フィンガープリントはMD5 ハッシュ関数を使用して計算されます。これはサードパーティーのツールを使用する、Amazon EC2 を使用して作成した既存のプライベートキーから新しいパブリックキーを生成するなど、キーペアの作成方法に関係なく当てはまります。

## 異なるリージョンで同じキーペアを使用する場合
<a name="when-using-same-key-pair-in-different-regions"></a>

同じキーペアを使用して、異なる AWS リージョン にあるインスタンスに接続する場合は使用するすべてのリージョンにパブリックキーをインポートする必要があります。Amazon EC2 を使用してキーペアを作成する場合、パブリックキーを他のリージョンにインポートできるよう、[パブリックキーマテリアルを取得する](describe-keys.md#retrieving-the-public-key) することができます。

**注記**  
Amazon EC2 を使用して RSA キーペアを作成した場合、Amazon EC2 プライベートキーからパブリックキーを生成すると、インポートされたパブリックキーのフィンガープリントは元のパブリックキーとは異なるものになります。これはAmazon EC2 を使用して作成された元の RSA キーのフィンガープリントは SHA-1 ハッシュ関数を使用して計算されるのに対し、インポートされた RSA キーのフィンガープリントは MD5 ハッシュ関数を使用して計算されるためです。
ED25519 キーペアでは同じ SHA-256 ハッシュ関数を使用してフィンガープリントが計算されるため、Amazon EC2 で作成されたか、Amazon EC2 にインポートされたかにかかわらず、フィンガープリントは同一になります。

## プライベートキーからフィンガープリントを生成する
<a name="generate-fingerprint-from-private-key"></a>

ローカルマシンのプライベートキーからフィンガープリントを生成するには次のいずれかのコマンドを使用します。

Windows ローカルマシンを使用している場合、Windows Subsystem for Linux (WSL) を使用して、次のコマンドを実行できます。[Windows 10 インストールガイド](https://learn.microsoft.com/en-us/windows/wsl/install)の手順を使用して、WSL と Linux ディストリビューションをインストールします。手順の例ではLinux の Ubuntu ディストリビューションをインストールしますが、任意のディストリビューションをインストールできます。コンピュータを再起動して変更を有効にすることが求められます。
+ **Amazon EC2 を使用してキーペアを作成した場合**

  次の例のように、OpenSSL ツールを使用してフィンガープリントを生成します。

  RSA キーペアの場合:

  ```
  openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c
  ```

  (Linux インスタンス) ED25519 キーペアの場合:

  ```
  ssh-keygen -l -f path_to_private_key
  ```
+ **(RSA キーペアのみ) パブリックキーを Amazon EC2 にインポートした場合**

  キーペアの作成方法 (サードパーティーのツールを使用する、Amazon EC2 を使用して作成した既存のプライベートキーから新しいパブリックキーを生成するなど) に関係なく、この手順に従うことができます。

  次の例のように、OpenSSL ツールを使用してフィンガープリントを生成します。

  ```
  openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c
  ```
+ **OpenSSH 7.8 以降を使用して OpenSSH キーペアを作成し、パブリックキーを Amazon EC2 にインポートした場合**

  次の例のように、**ssh-keygen** を使用してフィンガープリントを生成します。

  RSA キーペアの場合:

  ```
  ssh-keygen -ef path_to_private_key -m PEM | openssl rsa -RSAPublicKey_in -outform DER | openssl md5 -c
  ```

  (Linux インスタンス) ED25519 キーペアの場合:

  ```
  ssh-keygen -l -f path_to_private_key
  ```