

AWS Tools for PowerShell V4 がメンテナンスモードになりました。

[AWS Tools for PowerShell V5](https://docs.aws.amazon.com/powershell/v5/userguide/) に移行することをお勧めします。移行方法の詳細と情報については、[メンテナンスモードのお知らせ](https://aws.amazon.com/blogs/developer/aws-tools-for-powershell-v4-maintenance-mode-announcement/)を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# キーペアを作成する
<a name="pstools-ec2-keypairs"></a>

次の `New-EC2KeyPair` 例では、キーペアを作成し、PowerShell 変数 `$myPSKeyPair` に保存します。

```
PS > $myPSKeyPair = New-EC2KeyPair -KeyName myPSKeyPair
```

キーペアオブジェクトを `Get-Member` コマンドレットにパイプ処理すると、オブジェクトの構造が表示されます。

```
PS > $myPSKeyPair | Get-Member

     TypeName: Amazon.EC2.Model.KeyPair

  Name                MemberType   Definition
  ----                ----------   ----------
  Equals              Method       bool Equals(System.Object obj)
  GetHashCode         Method       int GetHashCode()
  GetType             Method       type GetType()
  ToString            Method       string ToString()
  KeyFingerprint      Property     System.String KeyFingerprint {get;set;}
  KeyMaterial         Property     System.String KeyMaterial {get;set;}
  KeyName             Property     System.String KeyName {get;set;}
```

キーペアオブジェクトを `Format-List` コマンドレットにパイプ処理すると、`KeyName`、`KeyFingerprint`、および `KeyMaterial` の各メンバーの値が表示されます (出力は読みやすくするために切り詰められます)。

```
PS > $myPSKeyPair | Format-List KeyName, KeyFingerprint, KeyMaterial

  KeyName        : myPSKeyPair
  KeyFingerprint : 09:06:70:8e:26:b6:e7:ef:8f:fe:4a:1d:bc:9c:6a:63:11:ac:ad:3c
  KeyMaterial    : ----BEGIN RSA PRIVATE KEY----
                   MIIEogIBAAKCAQEAkK+ANYUS9c7niNjYfaCn6KYj/D0I6djnFoQE...
                   Mz6btoxPcE7EMeH1wySUp8nouAS9xbl9l7+VkD74bN9KmNcPa/Mu...
                   Zyn4vVe0Q5il/MpkrRogHqOB0rigeTeV5Yc3lvO0RFFPu0Kz4kcm...
                   w3Jg8dKsWn0plOpX7V3sRC02KgJIbejQUvBFGi5OQK9bm4tXBIeC...
                   daxKIAQMtDUdmBDrhR1/YMv8itFe5DiLLbq7Ga+FDcS85NstBa3h...
                   iuskGkcvgWkcFQkLmRHRoDpPb+OdFsZtjHZDpMVFmA9tT8EdbkEF...
                   3SrNeqZPsxJJIxOodb3CxLJpg75JU5kyWnb0+sDNVHoJiZCULCr0...
                   GGlLfEgB95KjGIk7zEv2Q7K6s+DHclrDeMZWa7KFNRZuCuX7jssC...
                   xO98abxMr3o3TNU6p1ZYRJEQ0oJr0W+kc+/8SWb8NIwfLtwhmJEy...
                   1BX9X8WFX/A8VLHrT1elrKmLkNECgYEAwltkV1pOJAFhz9p7ZFEv...
                   vvVsPaF0Ev9bk9pqhx269PB5Ox2KokwCagDMMaYvasWobuLmNu/1...
                   lmwRx7KTeQ7W1J3OLgxHA1QNMkip9c4Tb3q9vVc3t/fPf8vwfJ8C...
                   63g6N6rk2FkHZX1E62BgbewUd3eZOS05Ip4VUdvtGcuc8/qa+e5C...
                   KXgyt9nl64pMv+VaXfXkZhdLAdY0Khc9TGB9++VMSG5TrD15YJId...
                   gYALEI7m1jJKpHWAEs0hiemw5VmKyIZpzGstSJsFStERlAjiETDH...
                   YAtnI4J8dRyP9I7BOVOn3wNfIjk85gi1/0Oc+j8S65giLAfndWGR...
                   9R9wIkm5BMUcSRRcDy0yuwKBgEbkOnGGSD0ah4HkvrUkepIbUDTD...
                   AnEBM1cXI5UT7BfKInpUihZi59QhgdK/hkOSmWhlZGWikJ5VizBf...
                   drkBr/vTKVRMTi3lVFB7KkIV1xJxC5E/BZ+YdZEpWoCZAoGAC/Cd...
                   TTld5N6opgOXAcQJwzqoGa9ZMwc5Q9f4bfRc67emkw0ZAAwSsvWR...
                   x3O2duuy7/smTwWwskEWRK5IrUxoMv/VVYaqdzcOajwieNrblr7c...
                   -----END RSA PRIVATE KEY-----
```

`KeyMaterial` メンバーにはキーペアのプライベートキーが保存されます。パブリックキーは AWS に保存されます。AWS からパブリックキーを取得することはできませんが、プライベートキーの `KeyFingerprint` を、AWS から返されたパブリックキーのフィンガープリントと比較することで、パブリックキーを確認することができます。

## キーペアのフィンガープリントの表示
<a name="get-ec2keypair"></a>

`Get-EC2KeyPair` コマンドレットを使用して、キーペアのフィンガープリントを表示できます。

```
PS > Get-EC2KeyPair -KeyName myPSKeyPair | format-list KeyName, KeyFingerprint

  KeyName        : myPSKeyPair
  KeyFingerprint : 09:06:70:8e:26:b6:e7:ef:8f:fe:4a:1d:bc:9c:6a:63:11:ac:ad:3c
```

## プライベートキーの保存
<a name="store-ec2keypair"></a>

ファイルにプライベートキーを保存するには、`KeyFingerMaterial` メンバーを `Out-File` コマンドレットにパイプ処理します。

```
PS > $myPSKeyPair.KeyMaterial | Out-File -Encoding ascii myPSKeyPair.pem
```

プライベートキーをファイルに書き込む際には、`-Encoding ascii` を指定する必要があります。指定しない場合、`openssl` などのツールがファイルを正しく読み取ることができなくなる可能性があります。作成したファイルの形式が正しいことを確認するには、次のようなコマンドを使用します。

```
PS > openssl rsa -check < myPSKeyPair.pem
```

(`openssl` ツールは AWS Tools for PowerShell または AWS SDK for .NET には含まれていません。)

## キーペアの削除
<a name="remove-ec2keypair"></a>

インスタンスを起動して接続するにはキーペアが必要です。キーペアを使用し終わったら、削除できます。AWS からパブリックキーを削除するには、`Remove-EC2KeyPair` コマンドレットを使用します。プロンプトが表示されたら、`Enter` キーを押して、キーペアを削除します。

```
PS > Remove-EC2KeyPair -KeyName myPSKeyPair

Confirm
Performing the operation "Remove-EC2KeyPair (DeleteKeyPair)" on target "myPSKeyPair".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
```

現行の PowerShell セッションにはまだ `$myPSKeyPair` 変数が存在しており、キーペア情報が含まれています。また、`myPSKeyPair.pem` ファイルも存在します。ただし、キーペアのパブリックキーが AWS に保存されていないため、プライベートキーは使用できません。