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

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

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

注記

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

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

前提条件

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

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

    ほとんどの場合、Linux コンピュータにはデフォルトで SSH クライアントがあります。SSH クライアントがあるかどうかを確認するには、コマンドラインで ssh と入力します。使用しているコンピュータでコマンドが認識されない場合は、OpenSSH プロジェクトから、SSH ツールの完全なスイートの無料実装が提供されています。詳細については、http://www.openssh.com を参照してください。

  • AWS CLI ツールのインストール

    (オプション) サードパーティのパブリック AMI を使用する場合は、コマンドラインツールを使用してフィンガープリントを確認できます。AWS CLI のインストールの詳細については、『AWS Command Line Interface ユーザーガイド』の「準備作業」を参照してください。

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

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

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

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

  • (IPv6 のみ) インスタンスの IPv6 アドレスを取得する

    インスタンスに IPv6 アドレスを割り当てた場合は、オプションでパブリック IPv4 アドレスまたはパブリック IPv4 DNS ホスト名でなく IPv6 アドレスを使用して、インスタンスに接続できます。ローカルコンピュータに IPv6 アドレスがあり、IPv6 を使用するように設定されている必要があります。Amazon EC2 コンソールを使用してインスタンスの IPv6 アドレスを取得できます ([IPv6 IPs] フィールドを確認してください)。必要に応じて、describe-instances (AWS CLI) または Get-EC2Instance (AWS Tools for Windows PowerShell) コマンドを使用することもできます。IPv6 の詳細については、「IPv6 アドレス」を参照してください。

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

    インスタンスの起動時に指定したキーペアの .pem ファイルの、コンピュータ上の場所への完全修飾パスを取得します。

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

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

    重要

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

Linux インスタンスへの接続

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

To connect to your instance using SSH

  1. (Optional) You can verify the RSA key fingerprint on your running instance by using one of the following commands on your local system (not on the instance). This is useful if you've launched your instance from a public AMI from a third party. Locate the SSH HOST KEY FINGERPRINTS section, and note the RSA fingerprint (for example, 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f) and compare it to the fingerprint of the instance.

    Ensure that the instance is in the running state, not the pending state. The SSH HOST KEY FINGERPRINTS section is only available after the first boot of the instance.

  2. In a command-line shell, change directories to the location of the private key file that you created when you launched the instance.

  3. Use the chmod command to make sure that your private key file isn't publicly viewable. For example, if the name of your private key file is my-key-pair.pem, use the following command:

    Copy
    chmod 400 /path/my-key-pair.pem
  4. Use the ssh command to connect to the instance. You specify the private key (.pem) file and user_name@public_dns_name. Amazon Linux の場合は、ユーザー名は ec2-user です。RHEL の場合は、ユーザー名は ec2-user または root のどちらかです。Ubuntu の場合は、ユーザー名は ubuntu または root です。Centos の場合は、ユーザー名は centos です。Fedora の場合は、ユーザー名は ec2-user です。SUSE の場合は、ユーザー名は ec2-user または root のどちらかです。それ以外の場合で、ec2-user および root が機能しない場合は、ご利用の AMI プロバイダーに確認してください。

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

    You see a response like the following.

    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)?
  5. (IPv6 only) Alternatively, you can connect to the instance using its IPv6 address. Specify the ssh command with the path to the private key (.pem) file and the appropriate user name. Amazon Linux の場合は、ユーザー名は ec2-user です。RHEL の場合は、ユーザー名は ec2-user または root のどちらかです。Ubuntu の場合は、ユーザー名は ubuntu または root です。Centos の場合は、ユーザー名は centos です。Fedora の場合は、ユーザー名は ec2-user です。SUSE の場合は、ユーザー名は ec2-user または root のどちらかです。それ以外の場合で、ec2-user および root が機能しない場合は、ご利用の AMI プロバイダーに確認してください。

    Copy
    ssh -i /path/my-key-pair.pem ec2-user@2001:db8:1234:1a00:9691:9503:25ad:1761
  6. (Optional) Verify that the fingerprint in the security alert matches the fingerprint that you obtained in step 1. If these fingerprints don't match, someone might be attempting a "man-in-the-middle" attack. If they match, continue to the next step.

  7. Enter yes.

    You see a response like the following.

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

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

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

前提条件

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

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

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

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

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

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

  • (IPv6 のみ) インスタンスの IPv6 アドレスを取得する

    インスタンスに IPv6 アドレスを割り当てた場合は、オプションでパブリック IPv4 アドレスまたはパブリック IPv4 DNS ホスト名でなく IPv6 アドレスを使用して、インスタンスに接続できます。ローカルコンピュータに IPv6 アドレスがあり、IPv6 を使用するように設定されている必要があります。Amazon EC2 コンソールを使用してインスタンスの IPv6 アドレスを取得できます ([IPv6 IPs] フィールドを確認してください)。必要に応じて、describe-instances (AWS CLI) または Get-EC2Instance (AWS Tools for Windows PowerShell) コマンドを使用することもできます。IPv6 の詳細については、「IPv6 アドレス」を参照してください。

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

    インスタンスの起動時に指定したキーペアの .pem ファイルの、コンピュータ上の場所への完全修飾パスを取得します。

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

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

    重要

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

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

To use SCP to transfer a file

  1. (Optional) You can verify the RSA key fingerprint on your instance by using one of the following commands on your local system (not on the instance). This is useful if you've launched your instance from a public AMI from a third party. Locate the SSH HOST KEY FINGERPRINTS section, and note the RSA fingerprint (for example, 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f) and compare it to the fingerprint of the instance.

    The SSH HOST KEY FINGERPRINTS section is only available after the first boot of the instance.

  2. In a command shell, change directories to the location of the private key file that you specified when you launched the instance.

  3. Use the chmod command to make sure that your private key file isn't publicly viewable. For example, if the name of your private key file is my-key-pair.pem, use the following command:

    Copy
    chmod 400 /path/my-key-pair.pem
  4. Transfer a file to your instance using the instance's public DNS name. For example, if the name of the private key file is my-key-pair, the file to transfer is SampleFile.txt, and the public DNS name of the instance is ec2-198-51-100-1.compute-1.amazonaws.com, use the following command to copy the file to the ec2-user home directory.

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

    ヒント

    Amazon Linux の場合は、ユーザー名は ec2-user です。RHEL の場合は、ユーザー名は ec2-user または root のどちらかです。Ubuntu の場合は、ユーザー名は ubuntu または root です。Centos の場合は、ユーザー名は centos です。Fedora の場合は、ユーザー名は ec2-user です。SUSE の場合は、ユーザー名は ec2-user または root のどちらかです。それ以外の場合で、ec2-user および root が機能しない場合は、ご利用の AMI プロバイダーに確認してください。

    You see a response like the following.

    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)?
  5. (IPv6 only) Alternatively, you can transfer a file using the IPv6 address for the instance. The IPv6 address must be enclosed in square brackets ([]), which must be escaped (\).

    Copy
    scp -i /path/my-key-pair.pem /path/SampleFile.txt ec2-user@\[2001:db8:1234:1a00:9691:9503:25ad:1761\]:~
  6. (Optional) Verify that the fingerprint in the security alert matches the fingerprint that you obtained in step 1. If these fingerprints don't match, someone might be attempting a "man-in-the-middle" attack. If they match, continue to the next step.

  7. Enter yes.

    You see a response like the following.

    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

    If you receive a "bash: scp: command not found" error, you must first install scp on your Linux instance. For some operating systems, this is located in the openssh-clients package. For Amazon Linux variants, such as the Amazon ECS-optimized AMI, use the following command to install scp.

    Copy
    [ec2-user ~]$ sudo yum install -y openssh-clients
  8. To transfer files in the other direction (from your Amazon EC2 instance to your local computer), simply reverse the order of the host parameters. For example, to transfer the SampleFile.txt file from your EC2 instance back to the home directory on your local computer as SampleFile2.txt, use the following command on your local computer.

    Copy
    scp -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~/SampleFile.txt ~/SampleFile2.txt
  9. (IPv6 only) Alternatively, you can transfer files in the other direction using the instance's IPv6 address.

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