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

PuTTY を使用した Windows から Linux インスタンスへの接続

インスタンスを起動したら、これに接続し、普通のコンピュータと同じように使用できます。

Note

インスタンスを起動してから接続できるようになるまでには、数分かかる場合があります。インスタンスのステータスチェックが正常に終了したことを確認してください。この情報は、[Instances] ページの [Status Checks] 列で確認できます。

次の手順では、Windows 用の無料の SSH クライアントである PuTTY を使用して、インスタンスに接続する方法について説明します。インスタンスの接続でエラーが発生した場合は、「Troubleshooting Connecting to Your Instance」を参照してください。

前提条件

PuTTY を使用して Linux インスタンスに接続する前に、以下の前提条件を満たしていることを確認してください。

  • PuTTY のインストール

    PuTTY のダウンロードページから、PuTTY をダウンロードしてインストールします。すでにインストールされている旧バージョンの PuTTY がある場合は、最新バージョンをダウンロードすることをお勧めします。必ずスイート全部をインストールしてください。

  • インスタンスの ID を取得する

    Amazon EC2 コンソールを使用して、インスタンスの ID を取得できます ([Instance ID] 列を確認します)。必要に応じて、describe-instances (AWS CLI) または Get-EC2Instance (AWS Tools for Windows PowerShell) コマンドを使用することもできます。

  • インスタンスのパブリック DNS 名を取得する

    Amazon EC2 コンソールを使用して、インスタンスのパブリック DNS を取得できます ([Public DNS] 列を確認します。この列が非表示の場合は、[Show/Hide] アイコンをクリックして [Public DNS] を選択します)。必要に応じて、describe-instances (AWS CLI) または Get-EC2Instance (AWS Tools for Windows PowerShell) コマンドを使用することもできます。

  • プライベートキーを見つける

    インスタンスの起動時に指定したキーペアの .pem ファイルの完全修飾パスが必要です。

  • IP アドレスからインスタンスへのインバウンド SSH トラフィックを有効にする

    インスタンスに関連付けられているセキュリティグループで、IP アドレスからの受信 SSH トラフィックが許可されることを確認します。詳細については、「インスタンスへのネットワークアクセスの許可」を参照してください。

    Important

    デフォルトのセキュリティグループのデフォルトでは、受信 SSH トラフィックは許可されません。

PuTTYgen を使用した秘密キーの変換

PuTTY は、Amazon EC2 によって生成されるプライベートキー形式(.pem)をネイティブにサポートしていません。PuTTY には、キーを必要な PuTTY 形式(.ppk)に変換できる PuTTYgen と呼ばれるツールが含まれています。PuTTY を使用してインスタンスへの接続を試みる前に、秘密キーをこの形式(.ppk)に変換する必要があります。

プライベートキーの変換方法

  1. PuTTYgen を開始します(例:[スタート] メニューで [すべてのプログラム] > [PuTTY] > [PuTTYgen] をクリック)。

  2. [Type of key to generate] の下で、[SSH-2 RSA] を選択します。

    PuTTYgen の SSH-2 RSA キー
  3. [Load] をクリックします。デフォルトでは、PuTTYgen には拡張子 .ppk を持つファイルだけが表示されます。.pem ファイルの場所を特定するには、すべてのタイプのファイルを表示するオプションを選択します。

    すべてのファイルタイプを選択します

  4. インスタンスの起動時に指定したキーペアの .pem ファイルを選択し、[Open] をクリックします。[OK] をクリックして、確認ダイアログボックスを閉じます。

  5. [Save private key] をクリックして、PuTTY が使用できる形式でキーを保存します。PuTTYgen に、パスフレーズなしでキーを保存することに関する警告が表示されます。[Yes] をクリックします。

    Note

    秘密キーのパスフレーズには、保護を強化する働きがあります。秘密キーが他者に見つかっても、パスフレーズがなければキーは使用不可能です。パスフレーズ使用における欠点は、インスタンスにログオンする、またはファイルをインスタンスにコピーするのに人間の介入が必要となるため、自動化が難しくなることです。

  6. キーペアに使用した名前と同じ名前をキーに指定します(例: my-key-pair)。PuTTY は自動的にファイル拡張子 .ppk を加えます。

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

PuTTY セッションの開始

PuTTY を使用して Linux インスタンスに接続するには、次の手順に従います。秘密キーに作成した .ppk ファイルが必要になります。インスタンスの接続でエラーが発生した場合は、「Troubleshooting Connecting to Your Instance」を参照してください。

PuTTY セッションの開始方法

  1. (オプション)ローカルシステムで(インスタンス上ではありません)次のコマンドの 1 つを使用して、インスタンスの RSA キーフィンガープリントを確認できます。これは、サードパーティのパブリック AMI からインスタンスを起動した場合に、役立ちます。SSH HOST KEY FINGERPRINTS セクションを見つけて、RSA フィンガープリント(たとえば 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f)を書き留め、それをインスタンスのフィンガープリントと比較します。

    Note

    SSH HOST KEY FINGERPRINTS セクションは、インスタンスの最初の起動後にのみ使用できます。

  2. PuTTY を開始します([スタート] メニューで [すべてのプログラム] > [PuTTY] > [PuTTY] をクリックします)。

  3. [Category] ペインで [Session] を選択し、次のフィールドに入力します。

    1. [Host Name] フィールドで、user_name@public_dns_name を入力します。AMI に対して、必ず適切なユーザー名を指定してください。以下に例を示します。

      • Amazon Linux AMI の場合は、ユーザー名は ec2-user です。

      • RHEL5 AMI の場合は、ユーザー名は root または ec2-user のどちらかです。

      • Ubuntu AMI の場合は、ユーザー名は ubuntu です。

      • Fedora AMI の場合は、ユーザー名は fedora または ec2-user のどちらかです。

      • SUSE Linux の場合は、ユーザー名は root または ec2-user のどちらかです。

      • それ以外の場合で、ec2-user および root が機能しない場合は、AMI プロバイダーに確認してください。

    2. [Connection type] で [SSH] を選択します。

    3. [Port] が 22 であることを確認します。

    [PuTTY configuration] - [Session]
  4. [Category] ペインで、[Connection]、[SSH] の順に展開し、[Auth] を選択します。次のように入力します。

    1. [Browse] をクリックします。

    2. キーペア用に生成した .ppk ファイルを選択し、[Open] をクリックします。

    3. (オプション)後でこのセッションを再度開始する場合、将来使用できるようにセッション情報を保存できます。[Category] ツリーで [Session] を選択し、[Saved Sessions] にセッションの名前を入力して、[Save] をクリックします。

    4. [Open] をクリックして、PuTTY セッションを開始します。

    [PuTTY configuration] - [Auth]
  5. このインスタンスに接続するのが初めての場合は、接続先のホストを信頼するかどうかを尋ねるセキュリティアラートダイアログボックスが表示されます。

  6. (オプション)セキュリティアラートのフィンガープリントが、ステップ 1 で入手したフィンガープリントと一致することを確認します。これらのフィンガープリントが一致しない場合、「中間者(MITM)」攻撃を受けている可能性があります。一致した場合は、次の手順に進んでください。

  7. [Yes] をクリックします。ウィンドウが開き、インスタンスに接続した状態になります。

    Note

    プライベートキーを PuTTY フォーマットに変換するときにパスフレーズを指定した場合は、インスタンスへのログイン時にそのパスフレーズを指定する必要があります。

インスタンスの接続でエラーが発生した場合は、「Troubleshooting Connecting to Your Instance」を参照してください。

PuTTY Secure Copy Client を使用した Linux インスタンスへのファイルの転送

PuTTY Secure Copy Client(PSCP)は、Windows コンピュータと Linux インスタンスの間でファイルを転送できるようにするコマンドラインツールです。グラフィカルユーザーインターフェイス(GUI)を使用する場合は、WinSCP という名前のオープンソース GUI ツールを使用できます。詳細については、「WinSCP を使用した Linux インスタンスへのファイルの転送」を参照してください。

PSCP を使用するには、PuTTYgen を使用した秘密キーの変換 で生成したプライベートキーが必要です。また、Linux インスタンスのパブリック DNS アドレスも必要です。

次の例では、ファイル Sample_file.txt を Windows コンピュータの C: ドライブから Linux インスタンス上の /usr/local ディレクトリに転送します。

C:\> pscp -i C:\Keys\my-key-pair.ppk C:\Sample_file.txt user_name@public_dns:/usr/local/Sample_file.txt

WinSCP を使用した Linux インスタンスへのファイルの転送

WinSCP は Windows 用の GUI ベースのファイルマネージャで、SFTP、SCP、FTP、および FTPS プロトコルを使って、ファイルをリモートコンピュータにアップロードおよび転送することができます。WinSCP を使用すると、Windows マシンから Linux インスタンスにファイルをドラッグアンドドロップしたり、2 つのシステム間でディレクトリ構造全体を同期させることができます。

WinSCP を使用するには、PuTTYgen を使用した秘密キーの変換 で生成した秘密キーが必要です。また、Linux インスタンスのパブリック DNS アドレスも必要です。

  1. http://winscp.net/eng/download.php から WinSCP をダウンロードしてインストールします。ほとんどの場合、デフォルトのインストールオプションでかまいません。

  2. WinSCP を起動します。

  3. [WinSCP login] 画面で、インスタンスのパブリック DNS アドレスを [Host name] に入力します。

  4. [User name] については、AMI のデフォルトユーザー名を入力します。Amazon Linux AMI の場合、ユーザー名は ec2-user です。Red Hat AMI の場合、ユーザー名は root で、 AMI の場合、ユーザー名は ubuntuubuntu です。

  5. インスタンスのプライベートキーを指定します。[Private key] に対して、秘密キーのパスを入力するか、[...] ボタンをクリックして、ファイルをブラウズします。WinSCP の新しいバージョンでは、[Advanced] をクリックして高度なサイト設定を開き、[SSH] の [Authentication] をクリックして、[Private key file] 設定を見つける必要があります。

    Note

    WinSCP は PuTTY 秘密キーファイル(.ppk)ファイルを必要とします。PuTTYgen を使って、.pem セキュリティキーファイルを .ppk フォーマットに変換することができます。詳細については、「PuTTYgen を使用した秘密キーの変換」を参照してください。

  6. (オプション)左側のパネルで [Directories] をクリックし、[Remote directory] に対してファイルを追加するディレクトリのパスを入力します。WinSCP の新しいバージョンでは、[Advanced] をクリックして高度なサイト設定を開き、[Environment] の [Directories] をクリックして、[Remote directory] 設定を見つける必要があります。

  7. [Login] をクリックして接続し、[Yes] をクリックしてホストのフィンガープリントをホストのキャッシュに追加します。

    WinSCP 画面
  8. 接続確立後、接続ウィンドウには Linux インスタンスが右側、ローカルマシンが左側に表示されます。ローカルマシンからリモートファイルシステムへ、ファイルを直接ドラッグアンドドロップすることができます。WinSCP の詳細については、http://winscp.net/eng/docs/start のドキュメントを参照してください。

    Note

    Cannot execute SCP to start transfer」エラーを受け取った場合は、まず Linux インスタンスに scp をインストールする必要があります。一部のオペレーティングシステムでは、これは openssh-clientsパッケージに含まれます。Amazon ECS-optimized AMI などの Amazon Linux バリアントでは、以下のコマンドを使用して scp をインストールします。

    [ec2-user ~]$ sudo yum install -y openssh-clients