

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

# サービス管理ユーザーの SSH キーの生成
<a name="sshkeygen"></a>

サーバーをセットアップする際、サービスで管理された認証方法でユーザーを認証するよう設定できます。この方法では、ユーザー名と SSH キーは、サービスに保存されます。ユーザーのパブリック SSH キーは、ユーザーのプロパティとしてサーバーにアップロードされます。このキーは、キーベースの標準認証プロセスの一部としてサーバーによって使用されます。各ユーザーに対し、個々のサーバーに複数のパブリック SSH キーを登録できます。ユーザ 1 人あたりに保存できるキー数の制限については、「Amazon Web Services 全般のリファレンス」の「[AWS Transfer Family エンドポイントとクォータ](https://docs.aws.amazon.com//general/latest/gr/transfer-service.html)」を参照してください。

サービスマネージド認証方法の代わりに、カスタム ID プロバイダー、または を使用してユーザーを認証できます AWS Directory Service for Microsoft Active Directory。詳細については、[カスタム ID プロバイダーの使用](custom-idp-intro.md)または[AWS Directory Service for Microsoft Active Directory の使用](directory-services-users.md)を参照してください。

サーバーがユーザー認証に使用できる方法は 1 つのみ (サービスマネージドまたはカスタム ID プロバイダー) であり、サーバーの作成後にそのメソッドを変更することはできません。

**Topics**
+ [macOS、Linux、または UNIX で SSH キーを作成する](macOS-linux-unix-ssh.md)
+ [Microsoft Windows での SSH キーの作成](windows-ssh.md)
+ [SSH2 キーを SSH パブリックキー形式に変換する](convert-ssh2-public-key.md)

# macOS、Linux、または UNIX で SSH キーを作成する
<a name="macOS-linux-unix-ssh"></a>

macOS、Linux、または UNIX のオペレーティングシステムでは、`ssh-keygen` コマンドを使用して、キーペトと呼ばれる SSH パブリックキーと SSH プライベートキーを作成します。

**注記**  
以下の例では、パスフレーズは指定していません。この場合、ツールはパスフレーズの入力を要求し、確認のためもう一度入力するように求めます。パスフレーズを作成すると、秘密鍵の保護が強化され、システム全体のセキュリティも向上する可能性があります。パスフレーズは復元できません。忘れた場合は、新しいキーを作成する必要があります。  
ただし、サーバーホスト鍵を生成する場合、Transfer Family サーバーは起動時にパスワードを要求できないため、コマンドで `-N ""` オプションを指定する（またはプロンプトが表示されたら **Enter** を 2 回押す）ことで、空のパスフレーズを「必ず」指定する必要があります。

**macOS、Linux、または UNIX のオペレーティングシステムで SSH キーを作成するには**

1. macOS、Linux、または UNIX でコマンドターミナルを開きます。

1. AWS Transfer Family は、RSA、ECDSA、および ED25519-formattedキーを受け入れます。生成するキーペアのタイプに基づいて適切なコマンドを選択してください。

   **ヒント**: を SSH キーペアファイルの実際の名前`key_name`に置き換えます。
   + 4096 ビット RSA キーペアを生成する

     ```
     ssh-keygen -t rsa -b 4096 -f key_name
     ```
   + ECDSA 521 ビットのキーペア (ECDSA のビットサイズは 256、384、521) を生成するには:

     ```
     ssh-keygen -t ecdsa -b 521 -f key_name
     ```
   + ED25519 キーペアを生成するには：

     ```
     ssh-keygen -t ed25519 -f key_name
     ```

   `ssh-keygen` 出力の例を以下に示します。

   ```
   ssh-keygen -t rsa -b 4096 -f key_name
   Generating public/private rsa key pair.
   
   Enter passphrase (empty for no passphrase): 
   Enter same passphrase again:
   Your identification has been saved in key_name.
   Your public key has been saved in key_name.pub.
   The key fingerprint is:
   SHA256:8tDDwPmanTFcEzjTwPGETVWOGW1nVz+gtCCE8hL7PrQ bob.amazon.com
   The key's randomart image is:
   +---[RSA 4096]----+
   |    . ....E      |
   | .   = ...       |
   |. . . = ..o      |
   | . o +  oo =     |
   |  + =  .S.= *    |
   | . o o ..B + o   |
   |     .o.+.* .    |
   |     =o*+*.      |
   |    ..*o*+.      |
   +----[SHA256]-----+
   ```

   **ヒント**: 前述のように `ssh-keygen` コマンドを実行すると、パブリックキーとプライベートキーが現在のディレクトリにファイルとして作成されます。

   これで、SSH キーペアを使用する準備ができました。ステップ 3 と 4 に従って、サービスマネージドユーザーの SSH パブリックキーを保存します。これらのユーザーは、Transfer Family サーバーエンドポイントでファイルを転送するときにキーを使用します。

1. `key_name.pub`.ファイルを見つけて開きます。

1. テキストをコピーして、サービス管理対象ユーザーの「**SSH 公開鍵**」に貼り付けます。

   1. [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) で AWS Transfer Family コンソールを開き、ナビゲーションペインから**サーバー**を選択します。

   1. **[サーバー]** ページで、更新するユーザーを含むサーバーの **[サーバー ID]** を選択します。

   1. パブリックキーを追加するユーザーを選択します。

   1. **[SSH 公開鍵]** ペインで、**[SSH 公開鍵を追加]** を選択します。  
![\[選択したユーザーのユーザーの詳細を示す AWS Transfer Family コンソール。\]](http://docs.aws.amazon.com/ja_jp/transfer/latest/userguide/images/edit-user-add-key-01.png)

   1. 生成した公開鍵のテキストを SSH 公開鍵テキストボックスに貼り付け、**[鍵の追加]** を選択します。  
![\[AWS Transfer Family コンソールには、パブリックキーを追加するためのキーの追加ページが表示されます。\]](http://docs.aws.amazon.com/ja_jp/transfer/latest/userguide/images/edit-user-add-key-02.png)

      新しい鍵は SSH 公開鍵ペインに一覧表示されます。  
![\[SSH パブリックキーセクションに新しく追加されたパブリックキーを示す AWS Transfer Family コンソール。\]](http://docs.aws.amazon.com/ja_jp/transfer/latest/userguide/images/edit-user-add-key-03.png)

# Microsoft Windows での SSH キーの作成
<a name="windows-ssh"></a>

Windows には OpenSSH が組み込み機能として含まれており、これを使用して Linux または macOS と同じ形式で SSH キーを生成できます。または、PuTTY のキージェネレーター (PuTTYgen) などのサードパーティー製ツールを使用することもできます。

## Windows 組み込み OpenSSH の使用
<a name="windows-openssh"></a>

Windows の最新バージョンには、デフォルトで OpenSSH が含まれています。macOS/Linux セクションで説明されているのと同じ`ssh-keygen`コマンドを使用できます。

1. Windows PowerShell または コマンドプロンプトを開きます。

1. 生成するキーのタイプに基づいて、次のいずれかのコマンドを実行します。
   + 4096 ビット RSA キーペアを生成する

     ```
     ssh-keygen -t rsa -b 4096 -f key_name
     ```
   + ECDSA 521 ビットキーペアを生成するには:

     ```
     ssh-keygen -t ecdsa -b 521 -f key_name
     ```
   + ED25519 キーペアを生成するには：

     ```
     ssh-keygen -t ed25519 -f key_name
     ```

1. macOS/Linux セクションと同じ手順に従って、パブリックキーを にアップロードします AWS Transfer Family。

## PuTTYgen の使用 (サードパーティー製ツール)
<a name="windows-puttygen"></a>

PuTTY など、Windows 用の一部のサードパーティー SSH クライアントは、異なるキー形式を使用します。PuTTY はプライベートキーに `PPK`形式を使用します。PuTTY または WinSCP などの関連ツールを使用している場合は、PuTTYgen を使用してこの形式でキーを作成できます。

**注記**  
`.ppk` 形式でないプライベート・キー・ファイルを WinSCP に提示すると、WinSCP クライアントはキーを `.ppk` 形式に変換します。

PuTTYgen を使用した SSH キーの作成に関するチュートリアルについては、[SSH.com ウェブサイト](https://www.ssh.com/ssh/putty/windows/puttygen)を参照してください。

# SSH2 キーを SSH パブリックキー形式に変換する
<a name="convert-ssh2-public-key"></a>

 AWS Transfer Family は SSH 形式のパブリックキーのみを受け入れます。SSH2 公開鍵がある場合は、それを変換する必要があります。SSH2 公開鍵は以下の形式になります。

```
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20160402"
AAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK/kYThqKt7THrjABTPWvXmB3URI
:
:
---- END SSH2 PUBLIC KEY ----
```

SSH パブリックキーの形式は次のとおりです。

```
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAA...
```

次のコマンドを実行して、SSH2-formattedパブリックキーを SSH 形式のパブリックキーに変換します。*ssh2-key* を SSH2 キーの名前に置き換え、*ssh-key* を SSH キーの名前に置き換えます。

```
ssh-keygen -i -f ssh2-key.pub > ssh-key.pub
```