すべてのプロダクト
Search
ドキュメントセンター

:Linuxインスタンスに接続できない場合はどうすればよいですか?

最終更新日:Sep 12, 2024

このトピックでは、Linux Elastic Compute Service (ECS) インスタンスに接続できない問題のトラブルシューティング方法について説明します。

原因

SSH接続の失敗は、Pluggable Authentication Module (PAM) フレームワーク、セキュリティグループ設定、SSH設定など、さまざまな要因によって発生する可能性があります。 Linuxインスタンスに接続できない場合、次のシナリオが発生する可能性があります。 問題をトラブルシューティングするには、シナリオに基づいて操作を実行します。

Linuxインスタンスにログインする

接続できないLinuxインスタンスにログインする場合は、次の手順を実行してインスタンスのステータスを確認し、Cloud Assistantを使用してLinuxインスタンスにコマンドを送信するか、Virtual Network Computing (VNC) を使用してインスタンスにログインします。

ステップ1: インスタンスのステータスを確認する

接続失敗の原因に関係なく、インスタンスのステータスを確認します。 インスタンスが [実行中] 状態の場合にのみ、外部サービスを提供できます。 以下の手順を実行します。

  1. ECSコンソール.

  2. 左側のナビゲーションウィンドウで、インスタンス&画像 > インスタンス.

  3. 上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。 地域

  4. [インスタンス] ページで、インスタンスのライフサイクルステータス (ステータス) とヘルスステータス (ヘルスステータス) を確認し、適切なツールを使用してインスタンスにログインします。

    • インスタンスが次の表に記載されているライフサイクル状態とヘルス状態にある場合は、手順2: VNCを使用してインスタンスにログインします

      インスタンスのライフサイクル状態

      インスタンスのヘルス状態

      ログインツール

      Starting

      初期化中

      VNC

      Running

      初期化中

      VNC

      OKまたは障害

      VNCまたはワークベンチ

      Stopping

      不十分なデータ

      VNC

      Stopped

      不十分なデータ

      なし

    • インスタンスが上記の表に記載されていないライフサイクル状態にある場合、ライフサイクル状態に基づいて問題を解決します。

      インスタンスのライフサイクル状態については、「インスタンスのライフサイクル」をご参照ください。

ステップ2: VNCを使用してインスタンスにログインする

Cloud Assistantが利用できない場合、またはビジネス要件を満たしていない場合は、VNCを使用してインスタンスにログインできます。

  1. ECSコンソール.

  2. 左側のナビゲーションウィンドウで、インスタンス&画像 > インスタンス.

  3. 上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。 地域

  4. [インスタンス] ページで、接続するインスタンスを見つけ、アクション 列の [接続] をクリックします。

  5. リモート接続 ダイアログボックスで、他のログイン方法を表示 をクリックします。 次に、VNCセクションで 今すぐサインイン をクリックします。

    image.png

  6. インスタンスのオペレーティングシステムにログインします。

    1. rootやecs-userなどのユーザー名を入力し、Enterキーを押します。

    2. ユーザー名に対応するパスワードを入力し、Enterキーを押します。

      説明

      Linuxインスタンスのパスワードを入力すると、パスワードの文字は非表示になります。 正しいパスワードを入力してください。

手順3: Cloud Assistantを使用してLinuxインスタンスにコマンドを送信する

Alibaba Cloudが提供するCloud Assistantを使用して、Linuxインスタンスにコマンドを送信します。 以下の手順を実行します。

  1. ECSコンソール.

  2. 左側のナビゲーションウィンドウで、インスタンス&画像 > インスタンス.

  3. 上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。 地域

  4. [インスタンス] ページで、Linuxインスタンスを見つけ、[操作] 列で image> [接続]> [コマンドの送信] を選択します。

  5. コマンドを入力し、[実行] をクリックして、インスタンスにログインする必要なくLinuxインスタンスでコマンドを実行します。

    Cloud Assistantの詳細については、「概要」をご参照ください。

    发送命令

エラーメッセージは返されません

[実行中] 状態のLinuxインスタンスに接続できないときにエラーメッセージが返されない場合は、次の手順を実行して問題をトラブルシューティングします。

手順1: Alibaba Cloud Workbenchを使用してインスタンスに接続する

Workbenchを使用してインスタンスに接続します。 Workbenchを使用してインスタンスに接続できない場合、Workbenchはエラーメッセージと対応するソリューションを返します。 以下の手順を実行します。

  1. ECSコンソール.

  2. 左側のナビゲーションウィンドウで、インスタンス&画像 > インスタンス.

  3. 上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。 地域

  4. [インスタンス] ページで、接続するLinuxインスタンスを見つけます。 アクション 列で、リモート接続 をクリックします。

  5. リモート接続 ダイアログボックスで、ワークベンチ セクションの 今すぐサインイン をクリックします。

  6. インスタンスに接続できるかどうかを確認します。

    [インスタンスログイン] ダイアログボックスで、インスタンスに関する基本情報がWorkbenchによって自動的に入力されます。 基本情報が正しいことを確認してください。 次に、インスタンスのユーザー名と認証情報を入力します。 Workbenchを使用してインスタンスに接続できるかどうかに基づいてアクションを実行します。 Workbenchを使用してLinuxインスタンスに接続する方法については、「パスワードまたはキーを使用してLinuxインスタンスに接続する」をご参照ください。

    • Workbenchを使用してインスタンスに接続できない場合、Workbenchはエラーメッセージと対応するソリューションを返します。 エラーメッセージと解決策に基づいて問題を解決します。 問題のトラブルシューティング後、Workbenchを使用してインスタンスに接続します。 Workbenchを使用してインスタンスに接続するときに発生する可能性のある問題の原因と解決策については、「VNCまたはWorkbenchを使用してインスタンスに接続するときに発生する問題」トピックの「Workbenchを使用してLinuxインスタンスに接続する」セクションを参照してください。

    • Workbenchを使用してインスタンスに接続できる場合、SSHはインスタンスで期待どおりに機能します。 この場合、ステップ2: ネットワーク接続の確認に進みます。

ステップ2: ネットワーク接続を確認する

Linuxインスタンスに接続できない場合は、インスタンスのネットワーク接続を確認してください。

  1. 異なるCIDRブロックまたは異なるオペレーターのコンピューターを使用して、他のネットワーク経由でインスタンスに接続し、問題がオンプレミスネットワークまたはサーバー側に関連しているかどうかを確認します。

    • 問題がオンプレミスのネットワークまたは通信事業者に関連している場合は、オンプレミスのIT担当者またはオペレーターに連絡してください。

    • ネットワークインターフェイス (NIC) ドライバで例外が発生した場合は、ドライバを再インストールしてください。

  2. オンプレミスクライアントでpingコマンドを実行して、インスタンスのネットワーク接続をテストします。

ステップ3: インスタンスのポートとセキュリティグループを確認する

インスタンスのセキュリティグループで必要な接続ポートが開いているかどうかを確認します。

  1. ECSコンソール.

  2. 左側のナビゲーションウィンドウで、インスタンス&画像 > インスタンス.

  3. 上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。 地域

  4. [インスタンス] ページで、インスタンスのIDをクリックします。

  5. [セキュリティグループ] タブをクリックしてセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。

  6. [セキュリティグループの詳細] タブで、次のいずれかの方法でセキュリティグループルールを追加します。 詳細については、「セキュリティグループルールの追加」をご参照ください。

    • 方法1: クイック追加機能を使用してセキュリティグループルールを追加する

      • アクション: 許可します。

      • ポート範囲: SSH (22) 。

      • 権限付与オブジェクト: 0.0.0.0/0。すべてのIPアドレスを指定します。

    • 方法2: セキュリティグループルールを手動で追加する

      • アクション: 許可します。

      • Priority: 1。最高の優先度を指定します。 より小さい数は、より高い優先度を指定する。

      • プロトコルタイプ: カスタムTCP。

      • ポート範囲: SSH (22) 。

      • 権限付与オブジェクト: 0.0.0.0/0。すべてのIPアドレスを指定します。 ビジネス要件に基づいて権限付与オブジェクトを指定することもできます。

  7. 次のコマンドを実行して、インスタンスでSSHポートが開いているかどうかを確認します。

    telnet [$IP] [$Port]
    説明
    • [$IP] は、インスタンスのIPアドレスを指定します。

    • [$Port] は、インスタンスのSSHポート番号を指定します。

    サンプルコマンド: telnet 192.168.0.1 22 次のコマンド出力は、SSHポートがインスタンスで開いていることを示します。

    Trying 192.168.0.1 ...
    Connected to 192.168.0.1.
    Escape character is '^]'

    インスタンスでSSHポートが閉じている場合は、ECSインスタンスのパブリックIPアドレスをpingできない場合はどうすればよいですか。 この問題のトラブルシューティングをご参照ください。

ステップ4: インスタンスのCPU負荷、帯域幅使用量、およびメモリ使用量を確認する

Linuxインスタンスに接続できない場合、インスタンスのCPU負荷が高く、パブリック帯域幅が不足している、またはメモリが不足している可能性があります。

  1. インスタンスのCPU負荷を確認し、確認結果に基づいて操作を実行します。

    • CPU負荷が高い場合は、インスタンスタイプをアップグレードします。

      インスタンスでホストされているアプリケーションが、ディスクに対して多数の読み取り /書き込み操作を実行したり、多数のネットワークリクエストを開始したり、計算負荷の高いワークロードを生成したりすると、インスタンスのCPU負荷が高くなります。 この場合、リソースのボトルネックの問題を解決するためにインスタンスタイプをアップグレードすることを推奨します。 詳細については、「インスタンス設定の変更の概要」をご参照ください。

      説明

      高CPU負荷の問題を解決する方法については、「Linux CPU負荷のクエリとケース分析」をご参照ください。

    • CPU負荷が高くない場合は、次のステップに進みます。

  2. 不十分なパブリック帯域幅の問題をトラブルシューティングします。

    Linuxインスタンスに接続できない場合、インスタンスのパブリック帯域幅が不足している可能性があります。 問題をトラブルシューティングするには、次の手順を実行します。

    1. ECSコンソール.

    2. 左側のナビゲーションウィンドウで、インスタンス&画像 > インスタンス.

    3. 上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。 地域

    4. [インスタンス] ページで、インスタンスのIDをクリックします。 [設定情報] セクションで、[インターネット帯域幅] の値を表示します。

      値が0 Mbpsの場合、インスタンスにはパブリック帯域幅がありません。 パブリック帯域幅をインスタンスに割り当てるには、パブリック帯域幅設定をアップグレードします。 詳細については、「インスタンス設定の変更の概要」トピックの「最大パブリック帯域幅の変更」セクションをご参照ください。

  3. メモリ不足の問題をトラブルシューティングします。

    Linuxインスタンスのデスクトップが期待どおりに表示されず、インスタンスに接続した後にエラーメッセージが表示されない場合、インスタンスのメモリが不足している可能性があります。 この場合、インスタンスのメモリ使用量を確認してください。 以下の手順を実行します。

    1. VNCを使用してインスタンスにログインします。

      詳細については、「VNCを使用したインスタンスへの接続」をご参照ください。

    2. メモリ使用量を確認します。 インスタンスのメモリが不足している場合は、メモリサイズの大きいインスタンスタイプにアップグレードすることを推奨します。 詳細については、「インスタンス設定の変更の概要」をご参照ください。

エラーメッセージが返されます。

ほとんどの場合、インスタンスに接続できない場合にエラーメッセージが返されます。 エラーメッセージに基づいて、問題を特定して解決できます。

PAMフレームワーク

LinuxのPAMフレームワークは、必要なセキュリティモジュールをロードし、アカウントポリシーやログオンポリシーなどのアクセス制御ポリシーを実装できます。 設定が無効な場合、または関連するポリシーがトリガーされると、SSHログインが失敗する可能性があります。 SSHログインが失敗した場合は、返されたエラーメッセージに基づいて問題をトラブルシューティングします。 詳細については、以下のトピックをご参照ください。

Linuxインスタンスのシステム環境

Linuxインスタンスのシステム環境でのウイルス感染、無効なアカウント設定、無効な環境設定などの例外も、SSHログインに失敗する可能性があります。 SSHログインが失敗した場合は、返されたエラーメッセージに基づいて問題をトラブルシューティングします。 詳細については、以下のトピックをご参照ください。

SSHサービスとパラメータの設定

SSHサービスのデフォルト設定ファイルは /etc/ssh/sshd_configです。設定ファイルのパラメーター設定が無効な場合、または設定ファイルで関連する機能またはポリシーが有効になっている場合、SSHログインが失敗する可能性があります。 SSHログインが失敗した場合は、返されたエラーメッセージに基づいて問題をトラブルシューティングします。 詳細については、以下のトピックをご参照ください。

SSHサービス関連のディレクトリまたはファイル

SSHサービスは、セキュリティを確保するために、実行時に関連するディレクトリまたはファイルの権限設定とグループをチェックします。 ディレクトリまたはファイルに対する不適切な権限により、SSHサービスが期待どおりに実行されなくなり、クライアントからのログオンに失敗する可能性があります。 SSHログインが失敗した場合は、返されたエラーメッセージに基づいて問題をトラブルシューティングします。 詳細については、以下のトピックをご参照ください。

SSHキーの設定

SSHは非対称暗号化を使用してデータを暗号化します。 クライアントとサーバーは、メッセージの完全性と暗号化のためにキーを交換して検証します。 SSHログインが失敗した場合は、返されたエラーメッセージに基づいて問題をトラブルシューティングします。 詳細については、次のトピックをご参照ください。

SSHを使用してインスタンスに接続したときに「ホストキーの検証に失敗しました」というエラーメッセージが表示された場合はどうすればよいですか?