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

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

次の手順では、Windows Subsystem for Linux (WSL) で Linux ディストリビューションを使用してインスタンスに接続する方法について説明します。WSL は無料でダウンロードでき、Windows でネイティブ Linux コマンドラインツールを直接実行できます。それと同時に、仮想マシンのオーバーヘッドなく従来の Windows デスクトップも使用できます。

WSL をインストールすると、PuTTY または PuTTYgen を使用する代わりに、ネイティブ Linux 環境を使用して Linux EC2 インスタンスに接続できます。Linux 環境では、Linux インスタンスにより簡単に接続できます。これは、Linux インスタンスに接続し、.pem キーファイルのアクセス権限を変更するために使用できるネイティブ SSH クライアントが付属しているためです。Amazon EC2 コンソールは、Linux インスタンスに接続するための SSH コマンドを提供します。この SSH コマンドから、トラブルシューティングのために詳細な出力を取得できます。詳細については、Windows Subsystem for Linux に関する情報を参照してください。

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

注記

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

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

注記

WSL をインストールした後のすべての必須条件とステップは、「SSH を使用した Linux インスタンスへの接続」で説明しているものと同じです。また、そのエクスペリエンスはネイティブ Linux の使用と同様です。

前提条件

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

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

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

  • ローカルコンピュータに Windows Subsystem for Linux (WSL) と Linux ディストリビューションをインストールします。

    Windows 10 インストールガイドの手順を使用して、WSL と Linux ディストリビューションをインストールします。手順の例では、Linux の Ubuntu ディストリビューションをインストールしますが、任意のディストリビューションをインストールできます。コンピュータを再起動して変更を有効にすることが求められます。

  • プライベートキーを Windows から WSL にコピーします。

    WSL ターミナルウィンドウで、Windows から WSL に .pem ファイル (インスタンスの起動時に指定したキーペアの場合) をコピーします。インスタンスに接続する際に使用する、WSL の .pem ファイルへの完全修飾パスをメモします。Windows ハードドライブへのパスを指定する方法の詳細については、C ドライブにアクセスする方法について参照してください。

    cp /mnt/<Windows drive letter>/path/my-key-pair.pem ~/WSL-path/my-key-pair.pem

Windows Subsystem for Linux を使用した Linux インスタンスへの接続

Windows Subsystem for Linux (WSL) を使用して Linux インスタンスに接続するには、次の手順に従います。インスタンスの接続でエラーが発生した場合は、「インスタンスへの接続に関するトラブルシューティング」を参照してください。

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

  1. ターミナルウィンドウで ssh コマンドを使用して、インスタンスに接続します。プライベートキー (.pem) ファイルと user_name@public_dns_name を指定します。たとえば、Amazon Linux 2 または Amazon Linux AMI を使用した場合は、ユーザー名は ec2-user です。

    sudo ssh -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

    以下のようなレスポンスが表示されます。

    The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)'
    can't be established.
    RSA key fingerprint is 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f.
    Are you sure you want to continue connecting (yes/no)?
  2. (IPv6 のみ) 別の方法として、IPv6 アドレスを使用してインスタンスに接続することもできます。ssh コマンドで、プライベートキー (.pem) ファイルへのパス、適切なユーザー名、および IPv6 アドレスを指定します。たとえば、Amazon Linux 2 または Amazon Linux AMI を使用した場合は、ユーザー名は ec2-user です。

    sudo ssh -i /path/my-key-pair.pem ec2-user@2001:db8:1234:1a00:9691:9503:25ad:1761
  3. (オプション) セキュリティアラートのフィンガープリントが、(オプション) インスタンスのフィンガープリントを取得する で事前に取得したフィンガープリントと一致することを確認します。これらのフィンガープリントが一致しない場合、「中間者 (MITM) 」攻撃を受けている可能性があります。一致した場合は、次の手順に進んでください。

  4. yes と入力します。

    以下のようなレスポンスが表示されます。

    Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) 
    to the list of known hosts.

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

ローカルコンピュータと Linux インスタンスの間でファイルを転送する方法の 1 つとして、セキュアコピープロトコル (SCP) を使用します。このセクションでは、SCP でファイルを転送する方法について説明します。この手順は、SSH を使用してインスタンスに接続する手順と似ています。

前提条件

  • インスタンスにファイルを転送するための一般的な前提条件の確認

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

  • SCP クライアントのインストール

    ほとんどの Linux、Unix、および Apple コンピュータには、デフォルトで SCP クライアントが含まれています。含まれていない場合は、OpenSSH プロジェクトから、SSH ツールの完全なスイートの無料実装が提供されており、これに SCP クライアントが含まれます。詳細については、http://www.openssh.org を参照してください。

SCP を使用してファイルを転送するステップを次に示します。既に SSH でインスタンスに接続し、フィンガープリントの確認が完了している場合は、SCP コマンドを実行するステップ (ステップ4) から開始できます。

SCP を使用してファイルを転送するには

  1. インスタンスのパブリック DNS 名を使って、インスタンスにファイルを転送します。たとえば、プライベートキーファイルの名前が my-key-pair、転送するファイルが SampleFile.txt、ユーザー名が ec2-user、インスタンスのパブリック DNS の名前が ec2-198-51-100-1.compute-1.amazonaws.com の場合、次のコマンドを使って、ファイルを ec2-user ホームディレクトリにコピーします。

    scp -i /path/my-key-pair.pem /path/SampleFile.txt ec2-user@c2-198-51-100-1.compute-1.amazonaws.com:~

    以下のようなレスポンスが表示されます。

    The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)'
    can't be established.
    RSA key fingerprint is 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f.
    Are you sure you want to continue connecting (yes/no)?
  2. (IPv6 のみ) 別の方法として、インスタンスの IPv6 アドレスを使用してファイルを転送することもできます。IPv6 アドレスは、\ でエスケープした角かっこ ([]) で囲む必要があります。

    scp -i /path/my-key-pair.pem /path/SampleFile.txt ec2-user@\[2001:db8:1234:1a00:9691:9503:25ad:1761\]:~
  3. (オプション) セキュリティアラートのフィンガープリントが、(オプション) インスタンスのフィンガープリントを取得する で事前に取得したフィンガープリントと一致することを確認します。これらのフィンガープリントが一致しない場合、「中間者 (MITM) 」攻撃を受けている可能性があります。一致した場合は、次の手順に進んでください。

  4. yes と入力します。

    以下のようなレスポンスが表示されます。

    Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) 
    to the list of known hosts.
    Sending file modes: C0644 20 SampleFile.txt
    Sink: C0644 20 SampleFile.txt
    SampleFile.txt                                100%   20     0.0KB/s   00:00

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

    [ec2-user ~]$ sudo yum install -y openssh-clients
  5. 逆の方向 (Amazon EC2 インスタンスからローカルコンピュータに) にファイルを転送する場合は、ホストパラメータの順番を逆にします。たとえば、SampleFile.txt ファイルを EC2 インスタンスからローカルコンピュータのホームディレクトリに SampleFile2.txt として転送するには、ローカルコンピュータで次のコマンドを実行します。

    scp -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~/SampleFile.txt ~/SampleFile2.txt
  6. (IPv6 のみ) 別の方法として、インスタンスの IPv6 アドレスを使用して別の方向にファイルを転送することもできます。

    scp -i /path/my-key-pair.pem ec2-user@\[2001:db8:1234:1a00:9691:9503:25ad:1761\]:~/SampleFile.txt ~/SampleFile2.txt

Windows Subsystem for Linux のアンインストール

Windows Subsystem for Linux のアンインストールの詳細については、「WSL ディストリビューションをアンインストールする方法」について参照してください。