キーペアのフィンガープリントを確認する - Amazon Elastic Compute Cloud

キーペアのフィンガープリントを確認する

キーペアのフィンガープリントを確認するには、Amazon EC2 コンソールの [キーペア] ページに表示される、または describe-key-pair コマンドによって返されるフィンガープリントを、ローカルコンピュータのプライベートキーを使用して生成したフィンガープリントと比較します。これらのフィンガープリントは一致するはずです。

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

キーペアのフィンガープリントではなく Linux EC2 インスタンスのフィンガープリントを検証しようとしている場合は、「インスタンスのフィンガープリントを取得する」を参照してください。

フィンガープリントの計算方法

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 を使用して作成した既存のプライベートキーから新しいパブリックキーを生成するなど、キーペアの作成方法に関係なく当てはまります。

異なるリージョンで同じキーペアを使用する場合

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

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

  • ED25519 キーペアでは、同じ SHA-256 ハッシュ関数を使用してフィンガープリントが計算されるため、Amazon EC2 で作成されたか、Amazon EC2 にインポートされたかにかかわらず、フィンガープリントは同一になります。

プライベートキーからフィンガープリントを生成する

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

Windows ローカルマシンを使用している場合、Windows Subsystem for Linux (WSL) を使用して、次のコマンドを実行できます。Windows 10 インストールガイドの手順を使用して、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