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

インスタンスへの接続に関するトラブルシューティング

以下では、発生する可能性のある問題、およびインスタンスへの接続時に表示される可能性のあるメッセージを示します。

Windows インスタンスの詳細なヘルプについては、Windows インスタンスの Amazon EC2 ユーザーガイド の「Troubleshooting Windows Instances」を参照してください。

また、Amazon EC2 forum で答えを探し、質問を投稿することもできます。

インスタンスへの接続エラー: 接続タイムアウト

インスタンスへ接続しようとして、エラーメッセージ Network error: Connection timed out または Error connecting to [instance], reason: -> Connection timed out: connect が表示される場合、次を実行します。

  • セキュリティグループルールを調べます。適切なポートのパブリック IPv4 アドレスからのインバウンドトラフィックがセキュリティグループルールで許可されている必要があります。

    1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

    2. In the navigation pane, choose Instances, and then select your instance.

    3. In the Description tab, next to Security groups, choose view rules to display the list of rules that are in effect.

    4. For Linux instances: Verify that there is a rule that allows traffic from your computer to port 22 (SSH).

      For Windows instances: Verify that there is a rule that allows traffic from your computer to port 3389 (RDP).

      If your security group has a rule that allows inbound traffic from a single IP address, this address may not be static if your computer is on a corporate network or if you are connecting through an Internet service provider (ISP). Instead, specify the range of IP addresses used by client computers. If your security group does not have a rule that allows inbound traffic as described in the previous step, add a rule to your security group. For more information, see Authorizing Network Access to Your Instances.

  • [EC2-VPC] サブネットのルートテーブルを確認します。VPC の外部あてのすべてのトラフィックを VPC のインターネットゲートウェイに送信するには、ルートが必要です。

    1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

    2. In the navigation pane, choose Instances, and then select your instance.

    3. In the Description tab, write down the values of VPC ID and Subnet ID.

    4. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

    5. In the navigation pane, choose Internet Gateways. Verify that there is an Internet gateway attached to your VPC. Otherwise, choose Create Internet Gateway to create an Internet gateway. Select the Internet gateway, and then choose Attach to VPC and follow the directions to attach it to your VPC.

    6. In the navigation pane, choose Subnets, and then select your subnet.

    7. On the Route Table tab, verify that there is a route with 0.0.0.0/0 as the destination and the Internet gateway for your VPC as the target. Otherwise, choose the ID of the route table (rtb-xxxxxxxx) to navigate to the Routes tab for the route table, choose Edit, Add another route, enter 0.0.0.0/0 in Destination, select your Internet gateway from Target, and then choose Save.

      If you're connecting to your instance using its IPv6 address, verify that there is a route for all IPv6 traffic (::/0) that points to the Internet gateway. If not, add a route with ::/0 as the destination, and the Internet gateway as the target.

  • [EC2-VPC] サブネットのネットワークアクセスコントロールリスト (ACL) を確認します。ネットワーク ACL が適切なポートのローカル IP アドレスからのインバウンドおよびアウトバウンドトラフィックを許可する必要があります。デフォルトのネットワーク ACL では、すべてのインバウンドトラフィックとアウトバウンドトラフィックを許可します。

    1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

    2. In the navigation pane, choose Your VPCs.

    3. On the Summary tab, find Network ACL, choose the ID (acl-xxxxxxxx), and select the ACL.

    4. On the Inbound Rules tab, verify that the rules allow traffic from your computer. Otherwise, delete or modify the rule that is blocking traffic from your computer.

    5. On the Outbound Rules tab, verify that the rules allow traffic to your computer. Otherwise, delete or modify the rule that is blocking traffic to your computer.

  • ご使用のコンピュータが社内ネットワークに接続されている場合は、社内ファイアウォールで、ご使用のコンピュータのインバウンドおよびアウトバウンドのトラフィックがポート 22 (Linux インスタンスの場合) またはポート 3389 (Windows インスタンスの場合) で許可されているかどうか、ネットワーク管理者に問い合わせてください。

    ご使用のコンピュータにファイアウォールが設定されている場合、そのファイアウォールでコンピュータのインバウンドおよびアウトバウンドのトラフィックがポート 22 (Linux インスタンスの場合) またはポート 3389 (Windows インスタンスの場合) で許可されているかどうか確認します。

  • インスタンスにパブリック IPv4 アドレスがあることを確認します。そうでない場合は、Elastic IP アドレスをインスタンスに関連付けることができます。 詳細については、「Elastic IP アドレス」を参照してください。

  • サーバーが過負荷になっている可能性のあるインスタンスの CPU 負荷を確認します。AWS は自動的に Amazon CloudWatch メトリクスおよびインスタンスステータスなどのデータを提供します。これを使用してインスタンスの CPU 負荷を確認でき、必要に応じて、負荷の処理方法を調整できます。詳細については、「CloudWatch を使用したインスタンスのモニタリング」を参照してください。

    • 負荷が変化する場合、Auto Scaling および Elastic Load Balancing を使用して、インスタンスの増減を自動的に縮小・拡張できます。

    • 負荷が常に増加している場合、大きなインスタンスタイプに移動できます。詳細については、「インスタンスのサイズ変更」を参照してください。

IPv6 アドレスを使用してインスタンスに接続するには、以下のことを確認します。

  • サブネットはインターネットゲートウェイへの IPv6 トラフィック (::/0) のルートを持つルートテーブルに関連付けられている必要があります。

  • セキュリティグループルールでは、適切なポート (Linux の場合は 22、Windows の場合は 3389) のローカル IPv6 アドレスからの着信トラフィックを許可する必要があります。

  • ネットワーク ACL ルールでは、インバウンドおよびアウトバウンドの IPv6 トラフィックを許可する必要があります。

  • 古い AMI からインスタンスを起動した場合、DHCPv6 用に設定されていない可能性があります (IPv6 アドレスはネットワークインターフェイスでは自動的に認識されません)。詳細については、「インスタンスでの IPv6 の設定」 (Amazon VPC ユーザーガイド) を参照してください。

  • ローカルコンピュータに IPv6 アドレスがあり、IPv6 を使用するように設定されている必要があります。

エラー: ユーザーキーがサーバーによって認識されない

SSH を使用してインスタンスに接続している場合

  • ssh -vvv を使用して、接続中に 3 倍詳細デバッグ情報を取得します。

    Copy
    ssh -vvv -i [your key name].pem ec2-user@[public DNS address of your instance].compute-1.amazonaws.com

    次のサンプル出力は、サーバーが認識しないキーを使用してインスタンスに接続しようとした場合に表示される可能性があります。

    open/ANT/myusername/.ssh/known_hosts).
    debug2: bits set: 504/1024
    debug1: ssh_rsa_verify: signature correct
    debug2: kex_derive_keys
    debug2: set_newkeys: mode 1
    debug1: SSH2_MSG_NEWKEYS sent
    debug1: expecting SSH2_MSG_NEWKEYS
    debug2: set_newkeys: mode 0
    debug1: SSH2_MSG_NEWKEYS received
    debug1: Roaming not allowed by server
    debug1: SSH2_MSG_SERVICE_REQUEST sent
    debug2: service_accept: ssh-userauth
    debug1: SSH2_MSG_SERVICE_ACCEPT received
    debug2: key: boguspem.pem ((nil))
    debug1: Authentications that can continue: publickey
    debug3: start over, passed a different list publickey
    debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
    debug3: authmethod_lookup publickey
    debug3: remaining preferred: keyboard-interactive,password
    debug3: authmethod_is_enabled publickey
    debug1: Next authentication method: publickey
    debug1: Trying private key: boguspem.pem
    debug1: read PEM private key done: type RSA
    debug3: sign_and_send_pubkey: RSA 9c:4c:bc:0c:d0:5c:c7:92:6c:8e:9b:16:e4:43:d8:b2
    debug2: we sent a publickey packet, wait for reply
    debug1: Authentications that can continue: publickey
    debug2: we did not send a packet, disable method
    debug1: No more authentication methods to try.
    Permission denied (publickey).

SSH (MindTerm) を使用してインスタンスに接続している場合

PuTTY を使用してインスタンスに接続している場合

  • 秘密キー (.pem) ファイルが PuTTY によって認識される形式 (.ppk) に変換されていることを確認します。プライベートキーの変換の詳細については、「PuTTY を使用した Windows から Linux インスタンスへの接続」を参照してください。

    注記

    PuTTYgen でプライベートキーファイルをロードし、[Generate] ではなく [Save Private Key] を選択します。

  • AMI 用の適切なユーザー名で接続していることを確認します。[PuTTY Configuration] ウィンドウの [Host name] ボックスにユーザー名を入力します。

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

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

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

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

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

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

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

  • 適切なポートへのインバウンドトラフィックを許可しているインバウンドセキュリティグループがあることを確認します。詳細については、「インスタンスへのネットワークアクセスの許可」を参照してください。

エラー: Host key not found、Permission denied (publickey)、または Authentication failed, permission denied (ホストキーが見つかりません、権限の拒否 (publickey)、または認証失敗、権限の拒否)

SSH を使用してインスタンスに接続し、Host key not found in [directory]Permission denied (publickey)、または Authentication failed, permission denied のいずれかのエラーが発生した場合は、AMI 用の適切なユーザー名で接続していて、なおかつインスタンス用の適切なプライベートキー (.pem) ファイルを指定していることを確認します。MindTerm クライアントについては、[Connect To Your Instance] ウィンドウの [User name] ボックスにユーザー名を入力します。

適切なユーザー名は以下のとおりです。

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

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

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

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

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

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

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

使用しているプライベートキーファイルが、インスタンスの起動時に選択したキーペアに対応していることを確認します。

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. Select your instance. In the Description tab, verify the value of Key pair name.

  3. If you did not specify a key pair when you launched the instance, you can terminate the instance and launch a new instance, ensuring that you specify a key pair. If this is an instance that you have been using but you no longer have the .pem file for your key pair, you can replace the key pair with a new one. For more information, see プライベートキーを紛失した場合の Linux インスタンスへの接続.

独自のキーペアを生成した場合は、キージェネレータが RSA キーを作成するように設定されていることを確認します。DSA キーは受け入れられません。

Permission denied (publickey) エラーが表示され、上のいずれも当てはまらない場合 (たとえば、以前は接続できていたなど)、インスタンスのホームディレクトリのアクセス権限が変更された可能性があります。/home/ec2-user/.ssh/authorized_keys のアクセス権限は、所有者のみに制限する必要があります。

To verify the permissions on your instance

  1. Stop your instance and detach the root volume. For more information, see インスタンスの停止と起動 and インスタンスからの Amazon EBS ボリュームのデタッチ.

  2. Launch a temporary instance in the same Availability Zone as your current instance (use a similar or the same AMI as you used for your current instance), and attach the root volume to the temporary instance. For more information, see インスタンスへの Amazon EBS ボリュームのアタッチ.

  3. Connect to the temporary instance, create a mount point, and mount the volume that you attached. For more information, see Amazon EBS ボリュームを使用できるようにする.

  4. From the temporary instance, check the permissions of the /home/ec2-user/ directory of the attached volume. If necessary, adjust the permissions as follows:

    Copy
    [ec2-user ~]$ chmod 600 mount_point/home/ec2-user/.ssh/authorized_keys
    Copy
    [ec2-user ~]$ chmod 700 mount_point/home/ec2-user/.ssh
    Copy
    [ec2-user ~]$ chmod 700 mount_point/home/ec2-user
  5. Unmount the volume, detach it from the temporary instance, and re-attach it to the original instance. Ensure that you specify the correct device name for the root volume; for example, /dev/xvda.

  6. Start your instance. If you no longer require the temporary instance, you can terminate it.

エラー: Unprotected Private Key File (保護されていないプライベートキーファイル)

プライベートキーファイルはその他のすべてのユーザーの読み取りおよび書き込み操作から保護されている必要があります。プライベートキーがお客様以外のユーザーによって読み取りまたは書き込みできる場合、SSH はキーを無視し、次の警告メッセージが表示されます。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '.ssh/my_private_key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: .ssh/my_private_key.pem
Permission denied (publickey).

インスタンスへのログインを試みたときに同様のメッセージが表示された場合は、エラーメッセージの最初の行を調べて、インスタンスに対して正しいパブリックキーを使用していることを確認します。上記の例では、プライベートキー .ssh/my_private_key.pem をファイル権限 0777 とともに使用します。これにより、任意のユーザーがこのファイルの読み取りまたは書き込みを行うことができます。この権限レベルの安全性は非常に低いので、SSH はこのキーを無視します。エラーを修正するには、次のコマンドを実行し、プライベートキーファイルのパスを置き換えます。

Copy
[ec2-user ~]$ chmod 0400 .ssh/my_private_key.pem

エラー: Server refused our key または No supported authentication methods available (サーバーはキーを拒否しましたまたは利用可能なサポートされる認証方法はありません)

PuTTY を使用してインスタンスに接続し、Error: Server refused our key または Error: No supported authentication methods available のどちらかのエラーが発生した場合、AMI の適切なユーザー名で接続していることを確認します。[PuTTY Configuration] ウィンドウの [User name] ボックスにユーザー名を入力します。

適切なユーザー名は以下のとおりです。

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

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

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

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

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

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

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

秘密キー (.pem) ファイルが PuTTY によって認識される形式 (.ppk) に正しく変換されていることも確認する必要があります。プライベートキーの変換の詳細については、「PuTTY を使用した Windows から Linux インスタンスへの接続」を参照してください。

Safari ブラウザでの MindTerm 使用のエラー

MindTerm を使用してインスタンスに接続し、Safari ウェブブラウザを使用している場合、次のエラーを受け取ることがあります。

Error connecting to your_instance_ip, reason: 
 —> Key exchange failed: Host authentication failed

ブラウザのセキュリティ設定を更新して、AWS マネジメントコンソール で安全ではないモードでの Java プラグインの実行を許可する必要があります。

To enable the Java plugin to run in unsafe mode

  1. In Safari, keep the Amazon EC2 console open, and choose Safari, Preferences, Security.

  2. Choose Plug-in Settings (or Manage Website Settings on older versions of Safari).

  3. Choose the Java plugin on the left, then locate the AWS マネジメントコンソール URL in the Currently Open Websites list. Select Run in Unsafe Mode from its associated list.

  4. When prompted, choose Trust in the warning dialog. Choose Done to return the browser.

Mac OS X RDP クライアント使用時のエラー

Microsoft ウェブサイトのリモートデスクトップ接続クライアントを使用して Windows Server 2012 R2 インスタンスに接続する場合は、次のエラーが発生する可能性があります。

Remote Desktop Connection cannot verify the identity of the computer that you want to connect to.

Apple iTunes ストアから Microsoft リモートデスクトップアプリをダウンロードし、そのアプリを使用して、インスタンスに接続します。

インスタンスに対して Ping を実行できない

ping コマンドは、ICMP トラフィックの一種です。インスタンスに対して Ping を実行できない場合は、インバウンドセキュリティグループのルールで、すべてのソースからの、あるいはコマンドを発行しているコンピュータまたはインスタンスからの Echo Request メッセージについて、ICMP トラフィックが許可されていることを確認します。インスタンスから ping コマンドを発行できない場合は、アウトバウンドセキュリティグループのルールで、すべての宛先への、または Ping の対象であるホストへの Echo Request メッセージについて、ICMP トラフィックが許可されていることを確認します。