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

SSH を使用した Linux インスタンスへの接続

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

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

注記

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

前提条件

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

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

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

  • 使用するローカルコンピュータに SSH クライアントをインストールします。

    ほとんどの場合、ローカルコンピュータにはデフォルトで SSH クライアントがインストールされています。SSH クライアントがあるかどうかを確認するには、コマンドラインで ssh と入力します。使用するローカルコンピュータでこのコマンドが認識されない場合、SSH クライアントをインストールできます。Linux または macOS X に SSH クライアントをインストールする詳細については、「http://www.openssh.com」を参照してください。Windows 10 に SSH クライアントをインストールする詳細については、「Windows の OpenSSH」を参照してください。

SSH クライアントを使用して Linux インスタンスに接続する

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

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

  1. ターミナルウィンドウで ssh コマンドを使用して、インスタンスに接続します。インスタンスのプライベートキー (.pem) ファイル、AMI のユーザー名、およびパブリック DNS 名を指定します。たとえば、Amazon Linux 2 または Amazon Linux AMI を使用した場合、ユーザー名は ec2-user です。AMI のユーザー名およびインスタンスの DNS 名を見つける詳しい方法については、「インスタンスに関する情報を取得する」を参照してください。

    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 です。

    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@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 アドレスを使用してファイルを転送することもできます。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