PuTTY を使用した Windows から Linux インスタンスへの接続 - Amazon Elastic Compute Cloud

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

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

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

前提条件

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

インスタンスの準備ができていることを確認する

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

インスタンスに接続するための一般的な前提条件を確認する

詳細については、「インスタンスに接続するための一般的な前提条件」を参照してください。

ローカルコンピューターに PuTTY をインストールする

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

PuTTYgen を使用してプライベートキーを変換する

インスタンスの起動時に指定したキーペアのプライベートキー(.pem ファイル)を見つけます。PuTTY で使用するために、.pem ファイルを .ppk ファイルに変換します。詳細については、次のセクションのステップに従います。

PuTTYgen を使用してプライベートキーを変換する

PuTTY は、SSH キーのプライベートキー形式をネイティブにサポートしていません。PuTTY は、キーを PuTTY に必要な形式に変換する PuTTYgen というツールを提供します。PuTTY を使用してインスタンスに接続するには、プライベートキー(.pemファイル)を次の形式(.ppkファイル)に変換する必要があります。

プライベートキーを変換するには

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

  2. [Type of key to generate (生成するキーのタイプ)] で、[RSA] を選択します。旧バージョンの PuTTYgen を使用している場合は、[SSH-2 RSA] を選択します。

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

    
							すべてのファイルタイプを選択
  4. インスタンスを起動したときに指定したキーペアの .pem ファイルを選択し、[Open (開く)] を選択します。PuTTYgen によって、.pem ファイルが正常にインポートされたことが通知されます。[OK] を選択します。

  5. PuTTY が使用できる形式でキーを保存するには、[Save private key (プライベートキーの保存)] を選択します。PuTTYgen に、パスフレーズなしでキーを保存することに関する警告が表示されます。[Yes (はい)] を選択します。

    注記

    プライベートキーのパスフレーズは追加の保護レイヤーです。プライベートキーが検出されても、パスフレーズがなければ使用できません。パスフレーズを使用することの欠点は、インスタンスにログオンしたり、ファイルをインスタンスにコピーしたりするのに人間の介入が必要となるため、オートメーションが難しくなることです。

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

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

Linux インスタンスへの接続

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

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

  1. PuTTY を開始します ([スタート] メニューで [All Programs (すべてのプログラム)、PuTTY、PuTTY] を選択)。

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

    1. [Host Name (ホスト名)] ボックスで、次のいずれかの操作を行います。

      • (パブリック DNS) インスタンスのパブリック DNS 名を使用して接続するには、my-instance-user-name@my-instance-public-dns-name を入力します。

      • (IPv6) インスタンスに IPv6 アドレスがある場合、インスタンスの IPv6 アドレスを使用して接続するには、my-instance-user-name@my-instance-IPv6-address を入力します。

      インスタンスのユーザー名、およびインスタンスのパブリック DNS 名または IPv6 アドレスを取得する方法については、「インスタンスに関する情報を取得する」を参照してください。

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

    3. [Connection type (接続タイプ)] で [SSH] を選択します。

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

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

    1. [Browse (参照)] を選択します。

    2. キーペア用に生成した .ppk ファイルを選択し、[Open (開く)] を選択します。

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

    4. [Open (開く)] を選択します。

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

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

    2. [Yes (はい)] を選択します。ウィンドウが開き、インスタンスに接続した状態になります。

      注記

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

インスタンスの接続でエラーが発生した場合は、「インスタンスへの接続に関するトラブルシューティング」を参照してください。

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

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

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

次の例では、ファイル Sample_file.txt を Windows コンピュータの C:\ ドライブから Amazon Linux インスタンス上の my-instance-user-name ホームディレクトリに転送します。ファイルを転送するには、次のいずれかのコマンドを使用します。

  • (パブリック DNS) インスタンスのパブリック DNS 名を使用してファイルを転送するには、次のコマンドを入力します。

    pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt my-instance-user-name@my-instance-public-dns-name:/home/my-instance-user-name/Sample_file.txt
  • (IPv6) インスタンスに IPv6 アドレスがある場合、インスタンスの IPv6 アドレスを使用してファイルを転送するには、次のコマンドを入力します。IPv6 アドレスは角かっこ ([ ]) で囲む必要があります。

    pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt my-instance-user-name@[my-instance-IPv6-address]:/home/my-instance-user-name/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 (WinSCP ログイン)] 画面の [ホスト名] に、次のいずれかを入力します。

    • (パブリック DNS または IPv4 アドレス) インスタンスのパブリック DNS 名またはパブリック IPv4 アドレスを使用してログインするには、インスタンスのパブリック DNS 名またはパブリック IPv4 アドレスを入力します。

    • (IPv6) インスタンスに IPv6 アドレスがある場合、インスタンスの IPv6 アドレスを使用してログインするには、インスタンスの IPv6 アドレスを入力します。

  4. [User name] については、AMI のデフォルトユーザー名を入力します。

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

    • CentOS AMI の場合、ユーザー名は centos です。

    • Debian AMI の場合は、ユーザー名は admin です。

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

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

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

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

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

  5. インスタンスのプライベートキーを指定します。[Private key (プライベートキー)] に、プライベートキーへのパスを入力するか、[...] ボタンを選択して、ファイルを参照します。高度なサイトの設定を開くには、より新しいバージョンの WinSCP で、[設定] を選択します。プライベートキーファイル 設定を見つけるには、[SSH] の [認証] を選択します。

    次に示すのは、WinSCP バージョン 5.9.4 からのスクリーンショットです。

    
							WinSCP の [高度なサイトの設定] 画面

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

  6. (オプション) 左のパネルで、[ディレクトリ] を選択します。[リモートディレクトリ] に、ファイルを追加する先のディレクトリのパスを入力します。より新しいバージョンの WinSCP で高度なサイトの設定を開くには、[設定] を選択します。リモートディレクトリ設定を見つけるには、[環境] の [ディレクトリ] を選択します。

  7. [ログイン] を選択します。ホストのフィンガープリントをホストのキャッシュに追加するには、[はい] を選択します。

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

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

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