PuTTY を使用して Windows から Linux インスタンスに接続する - Amazon Elastic Compute Cloud

PuTTY を使用して Windows から Linux インスタンスに接続する

Windows Server 2019 以降を実行している場合は、SSH プロトコルを使用したリモートログイン用のオープンソース接続ツールである OpenSSH の使用をお勧めします。OpenSSH を使用して Windows から Linux インスタンスに接続するステップについては、「OpenSSH を使用して Windows から Linux インスタンスに接続する」を参照してください。

次の手順では、Windows 用の無料の SSH クライアントである PuTTY を使用して、インスタンスに接続する方法について説明します。インスタンスの接続でエラーが発生した場合は、「インスタンスへの接続に関するトラブルシューティング」を参照してください。

前提条件

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

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

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

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

インスタンスのパブリック DNS 名または IP アドレス、およびインスタンスへの接続に使用するユーザー名を確認するには、「インスタンスに関する情報を取得する」を参照してください。

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

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

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

インスタンスの起動時に指定したキーペアの場合、.pem 形式でプライベートキーを作成する場合は、PuTTY で使用できるように .ppk ファイルに変換する必要があります。プライベート.pem ファイルを検索し、次のセクションのステップに従ってください。

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

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

プライベート .pem キーを .ppk 形式に変換するには
  1. [スタート] メニューで、[すべてのプログラム]、[PuTTY]、[PuTTYgen] の順に選択します。

  2. [Type of key to generate (生成するキーのタイプ)] で、[RSA] を選択します。お使いの PuTTYgen のバージョンにこのオプションが含まれていない場合は、[SSH-2 RSA] を選択します。

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

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

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

    注記

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

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

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

Linux インスタンスへの接続

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

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

PuTTY を使用してインスタンスに接続するには
  1. PuTTY を起動します ([スタート] メニューから [PuTTY] を検索し、[開く] を選択します)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      注記

      プライベートキーを 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 インスタンス上の instance-user-name ホームディレクトリに転送します。ファイルを転送するには、次のいずれかのコマンドを使用します。

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

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

    pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt instance-user-name@[instance-IPv6-address]:/home/instance-user-name/Sample_file.txt

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

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

要件
  • PuTTYgen を使用してプライベートキーを変換する で生成したプライベートキーが必要です。

  • Linux インスタンスのパブリック DNS 名が必要です。

  • Linux インスタンスに scp がインストールされている必要があります。一部のオペレーティングシステムでは、openssh-clients パッケージをインストールします。Amazon ECS に最適化された AMI など、その他の場合は、scp パッケージをインストールします。お使いの Linux ディストリビューションのドキュメントを確認してください。

WinSCP を使用してインスタンスに接続するには
  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. [ユーザー名] については、AMI のデフォルトユーザー名を入力します。

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

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

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

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

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

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

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

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

    • Bitnami AMI の場合は、ユーザー名は bitnami です。

    • それ以外の場合は、AMI プロバイダーに確認してください。

  5. インスタンスのプライベートキーファイルを指定します。

    1. [アドバンスト...] ボタンを選択します。

    2. SSH で、[認証] を選択します。

    3. プライベートキーファイルのパスを指定するか、[...] ボタンを選択して、キーペアファイルを参照します。

    4. [OK] を選択します。

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

    
							WinSCP の [Advanced] (アドバンスト) 画面。

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

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

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

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

    SCP を実行して転送を開始できないというエラーが表示された場合は、Linux インスタンスに scp がインストールされていることを確認します。