メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

Amazon EC2 のキーペア

Amazon EC2 はパブリックキー暗号を使用して、ログイン情報の暗号化と復号を行います。パブリックキー暗号はパブリックキーを使用してデータを暗号化し(パスワードなど)、受信者はプライベートキーを使用してデータを復号します。パブリックキーとプライベートキーは、キーペアと呼ばれます。

インスタンスにログインするには、キーペアを作成し、インスタンスを起動するときにキーペアの名前を指定して、インスタンスに接続するときにプライベートキーを指定する必要があります。Linux インスタンスにはパスワードがなく、キーペアを使用して SSH によってログインします。Windows インスタンスでは、キーペアを使用して管理者パスワードを取得してから、RDP を使用してログインします。

キーペアを作成する

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

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

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

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

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

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

インスタンスを起動するときは、インスタンスへの接続に使用するキーペアの名前を指定する必要があります。インスタンスの起動時に既存のキーペアを指定しない場合、インスタンスに接続することはできません。インスタンスに接続するときは、インスタンスの起動時に指定したキーペアに対応するプライベートキーを指定する必要があります。Amazon EC2 ではプライベートキーのコピーが保持されないため、プライベートキーを失った場合、復元することはできません。Instance store-Backed インスタンスのプライベートキーを失った場合は、インスタンスにアクセスできなくなります。そのため、インスタンスを終了し、新しいキーペアを使用して、別のインスタンスを起動する必要があります。EBS-Backed Linux インスタンスのプライベートキーを失った場合は、インスタンスへのアクセス権を回復することができます。詳細については、プライベートキーを紛失した場合の Linux インスタンスへの接続 を参照してください。

複数ユーザー用のキーペア

単一のインスタンスにアクセスする複数のユーザーがいる場合、インスタンスにユーザーアカウントを追加できます。詳細については、「Linux インスタンスでのユーザーアカウントの管理」を参照してください。各ユーザー用にキーペアを作成し、インスタンスの各ユーザー用の .ssh/authorized_keys ファイルに各キーペアからのパブリックキー情報を追加できます。その後、ユーザーに対してプライベートキーファイルを配布できます。この方法では、ルートアカウント用に使用しているプライベートキーファイルと同一のファイルを複数のユーザーに配布する必要はありません。

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

Amazon EC2 コンソールまたはコマンドラインを使用して、キーペアを作成できます。キーペアを作成すると、インスタンス起動時にこのキーペアを指定できます。 実行中のインスタンスにこのキーペアを追加すると、他のユーザーがインスタンスに接続できるようになります。 詳細については、「Linux インスタンスでのユーザーアカウントの管理」を参照してください。

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

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

  2. ナビゲーションバーで、キーペアを生成するリージョンを選択します。お客様は場所に関係なく、使用できるリージョンをどれでも選択できます。この選択は重要です。複数の Amazon EC2 リソースはリージョン間で共有することができますが、キーペアの場合はそれができないからです。たとえば、米国西部(オレゴン)リージョン でキーペアを作成した場合、そのキーペアは別のリージョンで確認することも使用することもできません。

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

    Tip

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

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

  5. [Create Key Pair] ダイアログボックスの [Key pair name] フィールドに新しいキーペアの名前を入力し、[Create] を選択します。

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

    Important

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

  7. Mac または Linux コンピュータの SSH クライアントを使用して Linux インスタンスに接続する場合は、次のコマンドを使用してプライベートキーファイルの権限を設定すると、お客様以外のユーザーはそれを読み取ることができないようになります。

    $ chmod 400 my-key-pair.pem

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

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

独自のキーペアを Amazon EC2 にインポートする

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

Amazon EC2 では、次の形式を使用できます。

  • OpenSSH パブリックキー形式~/.ssh/authorized_keys の形式)

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

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

Amazon EC2 では、DSA キーを使用できません。キージェネレータが、RSA キーを作成するように設定されていることを確認してください。

サポートされている長さ: 1024、2048、および4096。

キーペアを作成するにはサードパーティ製のツールでキーペアを作成するには

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

  2. ローカルファイルにパブリックキーを保存します。たとえば、~/.ssh/my-key-pair.pub(Linux)または C:\keys\my-key-pair.pub(Windows)。このファイル名の拡張子は重要ではありません。

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

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

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

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

  2. ナビゲーションバーで、キーペアを生成するリージョンを選択します。キーペアリソースはリージョン間で共有できないので、この選択は重要です。たとえば、キーペアを 米国西部(オレゴン)リージョン にインポートした場合、別のリージョンでこのキーペアを表示または使用することはできません。

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

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

  5. [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 インスタンスでは、パブリックキーコンテンツは ~/.ssh/authorized_keys 内のエントリに配置されます。この配置は起動時に行われ、パスワードを使用しなくても、安全にインスタンスにアクセスできるようになります。このファイルをエディタで開くと、キーペアのパブリックキーを表示できます。以下に、my-key-pair という名前のキーペアのエントリの例を示します。パブリックキーの後にキーペアの名前が続く構成になっています。以下に例を示します。

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

ssh-keygen を使用してキーペアのパブリックキーを取得できます。プライベートキーをダウンロードしたコンピュータで、次のコマンドを実行します。

$ ssh-keygen -y

キーを持つファイルを入力するよう求められたら、次のように .pem ファイルにパスを指定します。

/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

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

$ GET 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

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

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

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

Windows では、PuTTYgen を使用してキーペアのパブリックキーを取得できます。PuTTYgen を起動して、[Load] をクリックし、.ppk または .pem ファイルを選択します。PuTTYgen によってパブリックキーが表示されます。

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

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

[Key Pairs] ページに表示されるフィンガープリントを使用して、ローカルコンピュータにあるプライベートキーが、AWS に格納されているパブリックキーと一致することを確認できます。

AWS を使用してキーペアを作成した場合、Amazon EC2 CLI で ec2-fingerprint-key コマンドを使用して、ローカルコンピュータのプライベートキーファイルからフィンガープリントを生成できます。出力はコンソールに表示されるフィンガープリントと一致する必要があります。また、OpenSSL のツールを使用して、プライベートキーファイルからフィンガープリントを生成することもできます。

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

サードパーティツールを使用してキーペアを作成し、パブリックキーを AWS にアップロードした場合、OpenSSL のツールを使用して、ローカルコンピュータのプライベートキーファイルからフィンガープリントを生成できます。

$ openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c

出力はコンソールに表示されるフィンガープリントと一致する必要があります。

キーペアの削除

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

Note

Auto Scaling グループ (Elastic Beanstalk 環境など) を使用している場合、削除するキーペアが起動設定で指定されていないことを確認します。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 へのアクセス を参照してください。

Note

インスタンスから Linux AMI を作成し、AMI を使用して別のリージョンまたはアカウントの新しいインスタンスを起動すると、新しいインスタンスには元のインスタンスからのパブリックキーが含まれます。これにより、元のインスタンスと同じプライベートキーファイルを使用して新しいインスタンスに接続できます。インスタンスからこのパブリックキーを削除するには、任意のテキストエディターを使用して、.ssh/authorized_keys ファイルからそのエントリを削除します。インスタンスでのユーザーの管理、特定のキーペアを使用したリモートアクセス権の付与については、「Linux インスタンスでのユーザーアカウントの管理」を参照してください。

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

EBS-Backed インスタンスのプライベートキーを失った場合は、インスタンスへのアクセス権を回復することができます。インスタンスを停止し、そのルートボリュームをデタッチし、データボリュームとして別のインスタンスにアタッチし、authorized_keys ファイルを変更して、ボリュームを元のインスタンスに戻し、インスタンスを再起動する必要があります。インスタンスの起動、接続、および停止の詳細については、インスタンスのライフサイクル を参照してください。

この手順は、instance store-backed インスタンスではサポートされません。インスタンスのルートデバイスタイプを判断するには、Amazon EC2 コンソールを開き、[Instances] を選択してインスタンスを選択し、詳細ペインで [Root device type] の値をチェックします。この値は ebs または instance store のどちらかです。ルートデバイスがインスタンスストアボリュームである場合、インスタンスに接続するにはプライベートキーが必要です。

前提条件

Amazon EC2 コンソールまたはサードパーティ製のツールで、新しいキーペアを作成します。

別のキーペアを使用して EBS-Backed インスタンスに接続するには

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

  2. ナビゲーションペインで [Instances] を選択し、接続先にするインスタンスを選択します(このインスタンスを「元のインスタンス」と呼びます)。

  3. この手順を完了するために必要となる以下の情報を控えておきます。

    • 元のインスタンスのインスタンス ID、AMI ID、およびアベイラビリティーゾーンを書き留めます。

    • 詳細ペインの [Block devices] で sda1(ルートボリューム)のエントリを選択し、[EBS ID] フィールドのボリューム ID(vol-xxxxxxxx)を書き留めます。

    • [EC2-Classic] 元のインスタンスに Elastic IP アドレスが関連付けられている場合は、詳細ペインの [Elastic IP] フィールドに表示される Elastic IP アドレスを書き留めます。

  4. [Actions] を選択して [Instance State] を選択し、[Stop] を選択します。[Stop] が無効になっている場合は、インスタンスが既に停止しているか、またはルートボリュームがインスタンスストアボリュームです。

    Warning

    インスタンスを停止すると、インスタンスストアボリューム上のデータは消去されます。したがって、インスタンスストアボリューム上に維持したいデータがある場合は、必ず永続的ストレージにバックアップしてください。

  5. [Launch Instance] を選択し、起動ウィザードを使用して、以下のオプションで一時インスタンスを起動します。

    • [Choose an AMI] ページで、元のインスタンスを起動するのに使用したのと同じ AMI を選択します。その AMI を使用できない場合は、停止したインスタンスから使用可能な AMI を作成できます。詳細については、「Amazon EBS-Backed Linux AMI の作成」を参照してください。

    • [Choose an Instance Type] ページで、ウィザードによって自動的に選択されたデフォルトのインスタンスタイプをそのままにします。

    • [Configure Instance Details] ページで、接続するインスタンスと同じアベイラビリティゾーンを指定します。VPC のインスタンスを起動する場合、このアベイラビリティゾーンのサブネットを選択します。

    • [Tag Instance] ページで、一時インスタンスであることを示すために、インスタンスに Name=Temporary タグを追加します。

    • [Review] ページで、[Launch] を選択します。新しいキーペアを作成し、コンピューター上の安全な場所にダウンロードして、[Launch Instances] を選択します。

  6. ナビゲーションペインで [Volumes] を選択し、元のインスタンスのルートデバイスボリュームを選択します(前のステップでそのボリューム ID を書き留めました)。[Actions] を選択し、次に [Detach Volume] を選択します。ボリュームの状態が available になるまで待ちます([Refresh] アイコンを選択しなければならない場合があります)。

  7. ボリュームを選択したまま [Actions] を選択し、次に [Attach Volume] を選択します。一時インスタンスのインスタンス ID を選択し、[Device] で指定したデバイス名(/dev/sdf など)を書き留めて、[Yes, Attach] を選択します。

  8. 一時インスタンスに接続します。

  9. 一時インスタンスから、そのファイルシステムにアクセスできるように、インスタンスにアタッチしたボリュームをマウントします。たとえば、デバイス名が /dev/sdf の場合、次のコマンドを使用してボリュームを /mnt/tempvol としてマウントします。

    Note

    デバイス名の表示がインスタンスでは異なる場合があります。たとえば、/dev/sdf としてマウントされているデバイスが、インスタンスでは /dev/xvdf として表示される場合があります。Red Hat の一部のバージョン(または CentOS などのバリアント)では、さらに末尾の文字が 4 文字インクリメントされる場合があります。たとえば、/dev/sdf/dev/xvdk になります。

    1. lsblk コマンドを使用して、ボリュームがパーティション分割されているかどうかを判断します。

      [ec2-user ~]$ lsblk
      NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      xvda    202:0    0    8G  0 disk
      └─xvda1 202:1    0    8G  0 part /
      xvdf    202:80   0  101G  0 disk
      └─xvdf1 202:81   0  101G  0 part
      xvdg    202:96   0   30G  0 disk

      前述の例では、/dev/xvda/dev/xvdf はパーティション分割されたボリュームで、/dev/xvdg はパーティション分割されていません。ボリュームがパーティション分割されている場合は、次のステップで raw デバイス(/dev/xvdf)の代わりにパーティション(/dev/xvdf1)をマウントします。

    2. ボリュームをマウントするための一時ディレクトリを作成します。

      [ec2-user ~]$ sudo mkdir /mnt/tempvol
    3. 以前に特定したデバイス名またはボリューム名を使用して、一時マウントポイントにボリューム(またはパーティション)をマウントします。

      [ec2-user ~]$ sudo mount /dev/xvdf1 /mnt/tempvol
  10. 一時インスタンスから、次のコマンドを使用して、一時インスタンスの authorized_keys の新しいパブリックキーで、マウントされたボリュームの authorized_keys を更新します( インスタンスの場合は ubuntuubuntu など、次のコマンドのユーザー名を置き換えることが必要になる場合があります)。

    [ec2-user ~]$ cp .ssh/authorized_keys /mnt/tempvol/home/ec2-user/.ssh/authorized_keys

    このコピーが正常に終了すると、次のステップに進むことができます。

    (オプション)または、/mnt/tempvol のファイルを編集するアクセス許可がない場合、sudo を使用してファイルを更新してから、ファイルに対するアクセス許可を確認して、元のインスタンスにログインできるかどうかを確認する必要があります。次のコマンドを使用して、ファイルに対するアクセス許可を確認します。

    [ec2-user ~]$ sudo ls -l /mnt/tempvol/home/ec2-user/.ssh
    total 4
    -rw------- 1 222 500 398 Sep 13 22:54 authorized_keys

    この出力例では、222 はユーザー ID、500 はグループ ID です。次に、sudo を実行して、失敗したコピーコマンドを再実行します。

    [ec2-user ~]$ sudo cp .ssh/authorized_keys /mnt/tempvol/home/ec2-user/.ssh/authorized_keys

    次のコマンドを再度実行して、アクセス許可が変更されているかどうかを判断します。

    [ec2-user ~]$ sudo ls -l /mnt/tempvol/home/ec2-user/.ssh

    ユーザー ID とグループ ID が変更されている場合は、次のコマンドを実行して復元します。

    [ec2-user ~]$ sudo chown 222:500 /mnt/tempvol/home/ec2-user/.ssh/authorized_keys
  11. 一時インスタンスから、元のインスタンスに再アタッチできるように、アタッチしたボリュームをアンマウントします。たとえば、/mnt/tempvol のボリュームをアンマウントするには、次のコマンドを使用します。

    [ec2-user ~]$ sudo umount /mnt/tempvol
  12. Amazon EC2 コンソールから、書き留めたボリューム ID を持つボリュームを選択して、[Actions] を選択し、[Detach Volume] を選択します。ボリュームの状態が available になるまで待ちます([Refresh] アイコンを選択しなければならない場合があります)。

  13. ボリュームを選択したまま [Actions] を選択し、次に [Attach Volume] を選択します。元のインスタンスのインスタンス ID を選択し、デバイス名 /dev/sda1 を指定して、[Yes, Attach] を選択します。

    Warning

    sda1 をデバイス名として指定しない場合、元のインスタンスを起動することはできません。これは、Amazon EC2 では sda1 のルートデバイスボリュームが想定されているためです。

  14. 元のインスタンスを選択し、[Actions] を選択して [Instance State] を選択した後、[Start] を選択します。インスタンスが running 状態になったら、新しいキーペアのプライベートキーファイルを使用して、そのインスタンスに接続できます。

  15. [EC2-Classic] 停止する前に元のインスタンスに Elastic IP アドレスが関連付けられていた場合は、以下のようにして、このアドレスをインスタンスに再度関連付ける必要があります。

    1. ナビゲーションペインで [Elastic IPs] を選択します。

    2. この手順の最初に書き留めた Elastic IP アドレスを選択します。

    3. [Actions] を選択し、次に [Associate Address] を選択します。

    4. 元のインスタンスの ID を選択し、[Associate] を選択します。

  16. (オプション)一時インスタンスをそれ以上使用しない場合は、終了できます。一時インスタンスを選択して [Actions] を選択し、[Instance State] を選択して [Terminate] を選択します。