Amazon Elastic Compute Cloud
Windows インスタンス用ユーザーガイド

Amazon EC2 のキーペアと Windows インスタンス

Amazon EC2 はパブリックキー暗号を使用して、ログイン情報の暗号化と復号を行います。パブリックキー暗号はパブリックキーを使用してデータを暗号化し、受信者はプライベートキーを使用してデータを復号します。パブリックキーとプライベートキーは、キーペアと呼ばれます。パブリックキー暗号化では、パスワードの代わりにプライベートキーを使用して、安全にインスタンスにアクセスできます。

インスタンスを起動するとき、キーペアを指定します。既存のキーペアまたは起動時に作成する新しいキーペアを指定できます。 を参照してください。Windows インスタンスでは、プライベートキーを使用して管理者パスワードを取得してから、RDP を使用してログインします。キーペアと Linux インスタンスの詳細については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「Amazon EC2 のキーペア」を参照してください。

キーペアを作成する

Amazon EC2 を使用してキーペアを作成できます。詳細については、「Amazon EC2 を使用してキーペアを作成する」を参照してください。

または、サードパーティ製のツールで、パブリックキーを Amazon EC2 にインポートすることもできます。詳細については、「独自のパブリックキーを Amazon EC2 にインポートする」を参照してください。

それぞれのキーペアには名前が必要です。覚えやすい名前を選択するようにしてください。Amazon EC2 は、パブリックキーをキー名として指定した名前に関連付けます。

Amazon EC2 はパブリックキーのみを保存し、お客様はプライベートキーを保存します。お客様のプライベートキーを持っていれば誰でもお客様のログイン情報を復号できるので、プライベートキーを安全な場所に保存することが重要です。

Amazon EC2 が使用するキーは、2048-bit SSH-2 RSA キーです。リージョンあたり最大 5000 のキーペアを持つことができます。

インスタンスを起動し、接続する

インスタンスを起動するときは、インスタンスへの接続に使用するキーペアの名前を指定する必要があります。インスタンスの起動時に既存のキーペアを指定しない場合、インスタンスに接続することはできません。インスタンスに接続するときは、インスタンスの起動時に指定したキーペアに対応するプライベートキーを指定する必要があります。

Amazon EC2 を使用してキーペアを作成する

Amazon EC2 コンソールまたはコマンドラインを使用して、キーペアを作成できます。キーペアを作成すると、インスタンス起動時にこのキーペアを指定できます。

Amazon EC2 コンソールを使用してキーペアを作成するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [NETWORK & SECURITY] で、[Key Pairs] を選択します。

    注記

    ナビゲーションペインは Amazon EC2 コンソールの左側にあります。ペインが表示されない場合、最小化されている可能性があります。矢印を選択してペインを展開します。

  3. [Create Key Pair] を選択します。

  4. [キーペア名] に新しいキーペアの名前を入力し、[作成] を選択します。

  5. ブラウザによって秘密キーファイルが自動的にダウンロードされます。ベースファイル名はキーペアの名前として指定した名前となり、ファイル名の拡張子は .pem となります。プライベートキーファイルを安全な場所に保存します。

    重要

    これは、プライベートキーを保存する唯一のチャンスです。インスタンスと対応するプライベートキーの起動時には、毎回インスタンスに接続するたびに、キーペアの名前を入力する必要があります。

コマンドラインを使用してキーペアを作成するには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。

独自のパブリックキーを Amazon EC2 にインポートする

Amazon EC2 を使用してキーペアを作成する代わりに、サードパーティー製のツールで RSA キーペアを作成してから、パブリックキーを Amazon EC2 にインポートすることもできます。たとえば、ssh-keygen (標準 OpenSSH インストールで提供されるツール) を使用して、キーペアを作成できます。また、Java、Ruby、Python などのさまざまなプログラミング言語では、RSA キーペアの作成に使用できる標準ライブラリが提供されています。

要件

  • 以下の形式がサポートされています。

    • OpenSSH パブリックキー形式

    • Base64 でエンコードされた DER 形式

    • SSH パブリックキーファイル形式 (RFC4716 で指定)

    • SSH プライベートキーファイルの形式が PEM である必要があります (たとえば、ssh-keygen -m PEM を使用して、OpenSSH キーを PEM 形式に変換)。

  • RSA キーを作成します。Amazon EC2 では DSA キーは使用できません。

  • サポートされている長さは 1024、2048、および 4096 です。

サードパーティーツールを使用してキーペアを作成するには

  1. 選択したサードパーティ製のツールでキーペアを生成します。

  2. ローカルファイルにパブリックキーを保存します。例: C:\keys\my-key-pair.pub。このファイル名の拡張子は重要ではありません。

  3. .pem 拡張子を持つ別のローカルファイルにプライベートキーを保存します。例: C:\keys\my-key-pair.pem。プライベートキーファイルを安全な場所に保存します。インスタンスと対応するプライベートキーの起動時には、毎回インスタンスに接続するたびに、キーペアの名前を入力する必要があります。

Amazon EC2 コンソールを使用してキーペアをインポートするには、次のステップを使用します。

パブリックキーをインポートするには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [NETWORK & SECURITY] で、[Key Pairs] を選択します。

  3. [Import Key Pair] を選択します。

  4. [Import Key Pair] ダイアログボックスで [Browse] を選択し、前に保存したパブリックキーファイルを選択します。[Key pair name] フィールドにキーペアの名前を入力し、[Import] を選択します。

コマンドラインを使用してパブリックキーをインポートするには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。

パブリックキーファイルをインポートしたら、次のように Amazon EC2 コンソールを使用して、キーペアが正しくインポートされたかどうかを確認できます。

キーペアがインポートされたことを確認するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションバーから、キーペアを作成したリージョンを選択します。

  3. ナビゲーションペインの [NETWORK & SECURITY] で、[Key Pairs] を選択します。

  4. インポートしたキーペアが、表示されているキーペアのリストに含まれていることを確認します。

コマンドラインを使用してキーペアを表示するには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。

キーペアのパブリックキーを取得する (Linux)

ローカルの Linux または Mac コンピュータで、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 my-key-pair.pem

キーペアのパブリックキーを取得する (Windows)

ローカルの Windows コンピュータでは、PuTTYgen を使用してキーペアのパブリックキーを取得します。

PuTTYgen を起動して、[Load] を選択し、.ppk または .pem ファイルを選択します。PuTTYgen によってパブリックキーが表示されます。

インスタンスからキーペアのパブリックキーを取得する

インスタンスの起動時に指定したパブリックキーも、そのインスタンスメタデータを介して表示できます。インスタンスの起動時に指定したパブリックキーを表示するには、インスタンスから次のコマンドを使用します。

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 my-key-pair

インスタンスへの接続に使用するキーペアを変更した場合、インスタンスメタデータが更新されて新しいパブリックキーが表示されないので、ご注意ください。インスタンスメタデータには、インスタンスの起動時に指定したキーペアのパブリックキーが引き続き表示されます。

詳細については、「インスタンスメタデータの取得」を参照してください。

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

Amazon EC2 コンソールの [キーペア] ページで、[フィンガープリント] 列にキーペアから生成されたフィンガープリントが表示されます。AWS では、キーペアが AWS とサードパーティツールのいずれで生成されたかによって、フィンガープリントの計算が異なります。AWS を使用してキーペアを作成した場合、フィンガープリントは、SHA-1 ハッシュ関数を使用して計算されます。サードパーティツールによってキーペアを作成し、パブリックキーを AWS にアップロードした場合、または AWS で作成した既存のプライベートキーから新しいパブリックキーを作成し、AWS にアップロードした場合、フィンガープリントは、MD5 ハッシュ関数を使用して計算されます。

[Key Pairs (キーペア)] ページに表示される SSH2 フィンガープリントを使用して、ローカルコンピュータにあるプライベートキーが、AWS に格納されているパブリックキーと一致することを確認できます。プライベートキーファイルをダウンロードしたコンピュータから、プライベートキーファイルを使用して SSH2 フィンガープリントを生成します。出力はコンソールに表示されるフィンガープリントと一致する必要があります。

AWS を使用してキーペアを作成した場合、OpenSSL ツールを使用して次のようにフィンガープリントを生成できます。

C:\> openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c

サードパーティーツールを使用してキーペアを作成し、パブリックキーを AWS にアップロードした場合、OpenSSL のツールを使用して、次のようにフィンガープリントを生成できます。

C:\> openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c

OpenSSH 7.8 以降を使用して OpenSSH キーペアを作成し、パブリックキーを AWS にアップロードした場合、ssh-keygen を使用して、次のようにフィンガープリントを生成できます。

C:\> ssh-keygen -ef path_to_private_key -m PEM | openssl rsa -RSAPublicKey_in -outform DER | openssl md5 -c

キーペアの削除

キーペアを削除すると、Amazon EC2 のパブリックキーのコピーのみが削除されます。キーペアの削除は、コンピュータのプライベートキーにも、このキーペアを使用して既に起動している各インスタンスのパブリックキーにも影響しません。削除したキーペアを使用して新しいインスタンスを起動することはできませんが、プライベートキー (.pem) ファイルを保持している間は、削除したキーペアを使用して起動した各インスタンスに引き続き接続することができます。

注記

Auto Scaling グループ (Elastic Beanstalk 環境など) を使用している場合、削除するキーペアが起動設定で指定されていないことを確認します。Amazon EC2 Auto Scaling は異常なインスタンスを検出した場合、代わりのインスタンスを起動します。ただし、キーペアが見つからない場合は、インスタンスの起動に失敗します。

Amazon EC2 コンソールまたはコマンドラインを使用して、キーペアを削除できます。

コンソールを使用してキーペアを削除するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [NETWORK & SECURITY] で、[Key Pairs] を選択します。

  3. キーペアを選択し、[Delete] を選択します。

  4. プロンプトが表示されたら、[Yes] を選択します。

コマンドラインを使用してキーペアを削除するには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。

プライベートキーを紛失した場合の Windows インスタンスへの接続

新しく起動した Windows インスタンスに接続する際、インスタンスの起動時に指定したキーペアのプライベートキーを使用して、管理者アカウントのパスワードを復号します。

管理者パスワードを紛失し、プライベートキーが不明な場合は、この Windows インスタンスにアクセスすることはできません。新しいキーペアを使用して起動した新しいインスタンスに置き換え、管理者パスワードをリセットすることができます。詳細については、「忘れたまたは期限切れの Windows 管理者パスワードをリセットする」を参照してください。