

# PuTTY を使用して Linux インスタンスに接続する
<a name="connect-linux-inst-from-windows"></a>

Windows 向けの無料の SSH クライアントである PuTTY を使用して、Linux インスタンスに接続できます。

Windows Server 2019 以降を実行している場合は、SSH プロトコルを使用したリモートログイン用のオープンソース接続ツールである OpenSSH の使用をお勧めします。

**注記**  
インスタンスに接続しようとしているときにエラーが発生した場合は、インスタンスが [SSH 接続の前提条件](connect-linux-inst-ssh.md#ssh-prereqs-linux-from-linux-macos) のすべてを満たしていることを確認してください。前提条件をすべて満たしているにもかかわらず Linux インスタンスに接続できない場合は、「[Amazon EC2 Linux インスタンスへの接続に関する問題のトラブルシューティング](TroubleshootingInstancesConnecting.md)」を参照してください。

**Topics**
+ [前提条件](#putty-prereqs)
+ [PuTTYgen を使用してプライベートキーを変換する](#putty-private-key)
+ [Linux インスタンスへの接続](#putty-ssh)

## 前提条件
<a name="putty-prereqs"></a>

PuTTY を使用して Linux インスタンスに接続する前に、以下のタスクを完了しておきます。

**一般的な前提条件を満たします。**  
+ インスタンスのステータスチェックが成功していることを確認します。インスタンスが接続リクエストを受け入れる準備が整うまでに、数分かかることがあります。詳細については、「[ステータスチェックの表示](viewing_status.md)」を参照してください。
+ [必要なインスタンスの詳細を取得する](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).
+ [プライベートキーを見つけ、許可を設定する](connection-prereqs-general.md#connection-prereqs-private-key).
+ [(オプション) インスタンスのフィンガープリントを取得する](connection-prereqs-general.md#connection-prereqs-fingerprint).

**IP アドレスからのインバウンド SSH トラフィックを許可します。**  
インスタンスに関連付けられているセキュリティグループで、IP アドレスからの受信 SSH トラフィックが許可されていることを確認します。詳細については、「[コンピュータからのインスタンスへの接続ルール](security-group-rules-reference.md#sg-rules-local-access)」を参照してください。

**ローカルコンピュータに PuTTY をインストールする (必要な場合)。**  
[PuTTY のダウンロードページ](https://www.chiark.greenend.org.uk/~sgtatham/putty/)から、PuTTY をダウンロードしてインストールします。既にインストールされている旧バージョンの PuTTY がある場合は、最新バージョンをダウンロードすることをお勧めします。必ずスイート全体をインストールします。

**PuTTYgen を使用してプライベートキーを PPK 形式に変換する。**  
インスタンスの起動時に指定したキーペアのプライベートキーを指定する必要があります。プライベートキーを .pem 形式で作成した場合は、PPK ファイルに変換して PuTTY で使用できるようにする必要があります。プライベート (.pem) ファイルを検索し、[PuTTYgen を使用してプライベートキーを変換する](#putty-private-key)のステップに従ってください。

## (オプション) PuTTYgen を使用してプライベートキーを変換する
<a name="putty-private-key"></a>

PuTTY は、SSH キーの PEM 形式をネイティブにサポートしていません。PuTTY には、PEM キーを PuTTY が必要とする PPK 形式に変換する PuTTYgen というツールが用意されています。PPK 形式ではなく PEM 形式を使用してキーを作成した場合は、プライベートキー (.pem ファイル) をこの形式 (.ppk ファイル) に変換して、PuTTY で使用できるようにする必要があります。

**プライベートキーを PEM 形式から PPK 形式に変換するには**

1. [**スタート**] メニューで、[**すべてのプログラム**]、[**PuTTY**]、[**PuTTYgen**] の順に選択します。

1. [**Type of key to generate (生成するキーのタイプ)**] で、[**RSA**] を選択します。お使いの PuTTYgen のバージョンにこのオプションが含まれていない場合は、[**SSH-2 RSA**] を選択します。  
![PuTTYgen の RSA キー。](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/puttygen-key-type.png)

1. **ロード]** を選択します。PuTTYgen では、デフォルトでは `.ppk` 拡張子を持つファイルだけが表示されます。`.pem` ファイルの場所を特定するには、すべてのタイプのファイルを表示するオプションを選択します。  
![すべてのファイルタイプを選択します。](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/puttygen-load-key.png)

1. インスタンスの起動時に指定したキーペアの `.pem` ファイルを選択し、[**開く**] を選択します。PuTTYgen により、`.pem` ファイルが正常にインポートされたことが表示されます。[**OK**] を選択します。

1. プライベートキーを PuTTY で使用できる形式で保存するには、[**プライベートキーを保存**] を選択します。PuTTYgen に、パスフレーズなしでキーを保存することに関する警告が表示されます。[**Yes**] を選択します。
**注記**  
プライベートキーのパスフレーズは追加の保護レイヤーです。プライベートキーが検出されても、パスフレーズがなければ使用できません。パスフレーズを使用することの欠点は、インスタンスにログオンしたり、ファイルをインスタンスにコピーしたりするのに人間の介入が必要となるため、オートメーションが難しくなることです。

1. キーペアに使用した名前と同じ名前 (`key-pair-name` など) をキーに指定し、[**保存**] を選択します。PuTTY により、`.ppk` ファイルに拡張子が自動的に追加されます。

プライベートキーが PuTTY で使用するための正しい形式となりました。これで、PuTTY の SSH クライアントを使用してインスタンスに接続することができます。

## Linux インスタンスへの接続
<a name="putty-ssh"></a>

PuTTY を使用して Linux インスタンスに接続するには、次の手順に従います。秘密キーに作成した `.ppk` ファイルが必要になります。詳細については、前のセクションの[(オプション) PuTTYgen を使用してプライベートキーを変換する](#putty-private-key)を参照してください。インスタンスの接続でエラーが発生した場合は、[Amazon EC2 Linux インスタンスへの接続に関する問題のトラブルシューティング](TroubleshootingInstancesConnecting.md)を参照してください。

**最後にテストされたバージョン**: PuTTY .78

**PuTTY を使用してインスタンスに接続するには**

1. PuTTY を起動します (**[スタート]** メニューから **[PuTTY]** を検索し、**[開く]** を選択します)。

1. [**Category (カテゴリ)**] ペインで [**Session (セッション)**] を選択し、次のフィールドに入力します。

   1. [**Host Name (ホスト名)**] ボックスで、次のいずれかの操作を行います。
      + (パブリック DNS) インスタンスのパブリック DNS 名を使用して接続するには、{{instance-user-name}}@{{instance-public-dns-name}} と入力します。
      + (IPv6) インスタンスに IPv6 アドレスがある場合、インスタンスの IPv6 アドレスを使用して接続するには、{{instance-user-name}}@{{2001:db8::1234:5678:1.2.3.4}} と入力します。

      インスタンスのユーザー名、およびインスタンスのパブリック DNS 名または IPv6 アドレスを取得する方法については、「[必要なインスタンスの詳細を取得する](connection-prereqs-general.md#connection-prereqs-get-info-about-instance)」を参照してください。

   1. [**Port (ポート)**] の値が 22 であることを確認します。

   1. [**Connection type (接続タイプ)**] で [**SSH**] を選択します。  
![[PuTTY configuration] (PuTTY configuration) - [Session] (セッション)。](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/putty-session-config.png)

1. (オプション) セッションをアクティブに保つため、定期的にキープアライブデータを自動的に送信するように PuTTY を設定できます。これは、セッションがアイドル状態になった際にインスタンスから切断されないようにするのに便利です。**[カテゴリー]** ペインで **[接続]** を選択し、**[キープアライブ間の秒数]** フィールドで必要な間隔を入力します。例えば、10 分間アイドル状態が続いた後にセッションが切断される場合、180 と入力して PuTTY を設定し、キープアライブデータを 3 分ごとに送信するようにします。

1. **[カテゴリー]** ペインで、**[接続]**、**[SSH]** の順に展開し、**[Auth]** を選択します。**[認証情報]** を選択します。

1. **[認証用プライベートキーファイル]** の横にある **[参照]** を選択します。**[プライベートキーファイルの選択]** ダイアログで、`.ppk`キーペア用に生成したファイルを選択します。ファイルをダブルクリックするか、**[プライベートキーファイルの選択]** ダイアログで **[開く]** を選択します。

1. (オプション) このセッションの後にインスタンスに再度接続する場合は、今後使用するためにセッション情報を保存できます。**[カテゴリー]** ペインで、**[セッション]** を選択します。**[保存されたセッション]** にセッションの名前を入力し、**[保存]** を選択します。

1. インスタンスに接続するには、**[開く]** を選択します。

1. このインスタンスに接続するのが初めての場合、PuTTY は接続先のホストを信頼するかどうかを確認するセキュリティアラートダイアログボックスを表示します。

   1. (オプション) セキュリティアラートダイアログボックスのフィンガープリントが、[(オプション) インスタンスのフィンガープリントを取得する](connection-prereqs-general.md#connection-prereqs-fingerprint) で前に取得したフィンガープリントと一致することを確認します。これらのフィンガープリントが一致しない場合、「中間者 (MITM)」攻撃を受けている可能性があります。一致した場合は、次のステップに進んでください。

   1. [**Accept (承諾)**] を選択します。ウィンドウが開き、インスタンスに接続した状態になります。
**注記**  
プライベートキーを PuTTY フォーマットに変換するときにパスフレーズを指定した場合は、インスタンスにログインする際にそのパスフレーズを指定する必要があります。

インスタンスの接続でエラーが発生した場合は、[Amazon EC2 Linux インスタンスへの接続に関する問題のトラブルシューティング](TroubleshootingInstancesConnecting.md)を参照してください。