ブラウザベースの SSH コンソールを使用して Lightsail インスタンスにアクセスするとエラーが表示されるのはなぜですか。

所要時間3分
0

ブラウザベースの SSH コンソールを使用して Amazon Lightsail インスタンスに接続すると、UPSTREAM_ERROR [515]、UPSTREAM_NOT_FOUND [519]、または CLIENT_AUTHORIZED [769] というメッセージが表示されます。

簡単な説明

Lightsail インスタンスに接続したときに SSH 関連のエラーが発生した場合、次のメッセージが表示されることがあります。

  • "Your instance encountered an error and has closed the connection.Try again or contact customer support.UPSTREAM_ERROR [515]"
  • "An error occurred and we were unable to connect or stay connected to your instance.If this instance has just started up, try again in a minute or two.UPSTREAM_NOT_FOUND [519]"
  • "Login failed.If this instance has just started up, try again in a minute or two.CLIENT_UNAUTHORIZED [769]"

UPSTREAM_ERROR [515] および UPSTREAM_NOT_FOUND [519] エラーは、SSH 経由で Lightsail インスタンスにアクセスできないことを示しています。これらのエラーの一般的な理由は次のとおりです。

  • インスタンスに、起動失敗、ステータスチェック失敗、リソースの過剰使用などの問題がある。
  • OS レベルのファイアウォールが SSH ポートアクセスをブロックしている。
  • SSH ポート (22) がデフォルトではない。
  • SSH サービスがダウンしている。

CLIENT_UNAUTHORIZED [769] エラーは、Lightsail インスタンスに SSH 認証の問題があることを示しています。このエラーの一般的な理由は次のとおりです。

  • /etc/ssh/lightsail_instance_ca.pub Lightsail システムキーの設定が間違っている。
  • Ubuntu インスタンスのバージョンを 20.04 以降にアップグレードした。

解決策

インスタンスの起動失敗、インスタンスのステータスチェック失敗、またはリソースの過剰使用が発生している

インスタンスメトリックスを表示して、インスタンスがシステムステータスチェックまたはインスタンスステータスチェックに失敗したかどうかを判断します。

システムステータスチェック

システムステータスチェックが失敗した場合は、インスタンスの基盤となるハードウェアに異常が発生しています。問題を解決するには、インスタンスを停止してから起動し、インスタンスを正常なハードウェアに移行します。

警告: インスタンスのパブリック IP アドレスは、インスタンスを停止して起動するたびに変更されます。停止と起動のたびにパブリック IP アドレスを変更しないようにするには、インスタンスを停止する前に静的 IP アドレスをアタッチしてください。

インスタンスステータスチェック

インスタンスステータスチェックが失敗した場合は、オペレーティングシステムレベルの問題が起動エラーの原因である可能性があります。または、CPU やメモリなど、インスタンスのリソースが過剰に使用されている可能性があります。トラブルシューティング手順については、「Lightsail インスタンスが応答しなくなる一般的な問題のトラブルシューティング方法を教えてください。」を参照してください。

OS レベルのファイアウォールが SSH ポートアクセスをブロックしている

ブラウザベースの SSH アクセスでは、Amazon の内部 IP アドレスを使用して Lightsail インスタンスに接続します。OS レベルのファイアウォールとアクセス制御ファイルの中には、SSH アクセスを 1 組の IP アドレスにしか許可しないものがあります。この場合、UPSTREAM_NOT_FOUND [519] または UPSTREAM_ERROR [515] というエラーが表示されます。ファイアウォールが SSH アクセスを完全にブロックしている場合も同じ問題が発生します。

注: OS レベルのファイアウォールの例としては、Iptables や UFW などがあります。制御ファイルの例としては、cPanel ベースのインスタンスでアクセス制御をホストする /etc/hosts.deny があります。

この問題を解決するには、次のいずれかの操作を行います。

  • SSH を使用してターミナルまたは PuTTY アプリケーションからインスタンスにアクセスできる場合は、インスタンスにログインします。ファイアウォールと /etc/hosts.deny ファイルから拒否ルールを削除します。
  • cPanel インスタンスがある場合は、WHM コンソールにアクセスしてファイアウォールルールを削除します。
  • SSH を使用してターミナルまたは PuTTY アプリケーションからインスタンスに接続できない場合は、起動スクリプトを使用してファイアウォールを無効にします。起動スクリプトはインスタンス起動時にのみ追加できます。

起動スクリプトを使用して OS レベルのファイアウォール、Iptables、および UFW を無効化するには、次の手順を実行します。

  1. Amazon Lightsail コンソールを開きます。

  2. インスタントの手動スナップショットを作成します。

  3. [スナップショット] タブの [手動スナップショット] で、新しいスナップショットの横にある 3 つの点を選択します。

  4. [新規インスタンスの作成] を選択します。

  5. 前のインスタンスと同じアベイラビリティーゾーンを選択します。

  6. [起動スクリプトの追加] を選択し、次のスクリプトを追加します。
    注: 次のサンプルスクリプトは、UFW ファイアウォールを無効化し、すべての Iptable チェーンまたはファイアウォールルールをフラッシュし、/etc/hosts.deny ファイルの名前を変更して無効化します。

    sudo ufw disable
    sudo iptables -F
    sudo mv /etc/hosts.deny /etc/hosts.deny_backup
    sudo touch /etc/hosts.deny
    sudo systemctl enable sshd
    sudo systemctl restart sshd
  7. 新しいインスタンスプランを選択するか、前のインスタンスと同じプランを使用してください。

  8. インスタンスの名前を入力し、[インスタンスの作成] を選択します。

新しいインスタンスの実行が開始されたら、10~15 分待ってから、ブラウザベースの SSH コンソールを使用してインスタンスに接続してみます。

注: 前のインスタンスに静的 IP アドレスが指定されていた場合は、新しいインスタンスで静的 IP アドレスを使用します。Lightsail コンソールの [ネットワーク] タブで、静的 IP アドレスをデタッチし、新しいインスタンスにアタッチします。

SSH サービスがダウンしている

インスタンスで SSH サービスが実行されていないか、アクティブでない場合、SSH 接続は失敗し、UPSTREAM_NOT_FOUND [519] エラーが表示されます。この問題をトラブルシューティングするには、お使いの Lightsail インスタンス用に AWS Systems Manager Session Manager を設定します。次に、SSH サービスなしでインスタンスにアクセスして SSH の問題を解決します。

SSH の問題の基本的なトラブルシューティング手順には以下が含まれます。

  • OS のディストリビューションに応じて、** /var/log/auth.log** ファイルまたは ** /var/log/secure** ファイルの SSH 認証ログを確認してエラーを特定します。
  • SSH 設定ファイルの構文をテストし、エラーがあれば修正します。
sudo sshd -t
sudo systemctl restart sshd

/etc/ssh/lightsail_instance_ca.pub の Lightsail システムキーの設定が間違っている

Lightsail は /etc/ssh/lightsail_instance_ca.pub のシステムキーを使用してブラウザベースの SSH アクセスを有効化します。このファイルが見つからない場合、SSH 認証は失敗し、CLIENT\ _AUTHORIZED\ [769] のエラーが表示されます。Lightsail システムキーが /etc/ssh/sshd\ _config SSH 設定ファイルの TrustedUserCaKeys パラメータで指定されていない場合も、同じエラーが発生します。

SSH を使用してターミナルまたは PuTTY アプリケーション経由でインスタンスに接続できる場合は、インスタンスにログインします。/etc/ssh/sshd\ _config ファイルが存在し、そのファイルに ssh-rsa キーが含まれていることを確認します。

ファイルが見つからない場合は、次の手順を実行してファイルを再作成します。

  1. 次のコマンドを実行して、コマンドの出力に ssh-rsa キーが表示されることを確認します。

    sudo cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa
  2. コマンドで出力に ssh-rsa キーを返される場合は、次のコマンドを実行してそれを /etc/ssh/lightsail_instance_ca.pub にコピーします。

    sudo sh -c "cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa > /etc/ssh/lightsail_instance_ca.pub"
        sudo sh -c "echo >> /etc/ssh/sshd_config"
        sudo sh -c "echo 'TrustedUserCAKeys /etc/ssh/lightsail_instance_ca.pub' >> /etc/ssh/sshd_config"
        sudo systemctl restart sshd
  3. ssh-rsa キーを取得できない場合、または SSH を使用してインスタンスに接続できない場合は、インスタンスのスナップショットを作成します。スナップショットから新しいインスタンスを起動すると、インスタンスの起動時に Lightsail システムキーがサーバーに自動的に追加されます。

Ubuntu インスタンスのバージョンを 20.04 以降にアップグレードした

Ubuntu 20.04 以降を実行するインスタンスでは、認証局 (CA) が ssh-rsa アルゴリズムを使用して証明書に署名することを許可する必要があります。そうしないと、認証が失敗し、CLIENT_UNAUTHORIZED [769] のエラーが表示されます。Ubuntu インスタンスバージョン 20.04 以降では、CA はデフォルトで ssh-rsa アルゴリズムを使用できます。ただし、以前の Ubuntu インスタンスバージョンを 20.04 にアップグレードする場合は、CA を手動で許可する必要があります。

CA を手動で許可するには、次の手順を実行します。

  1. ターミナルや PuTTY アプリケーションなどの SSH クライアントを使用してインスタンスに接続します。

  2. SSH の設定ファイル (/etc/ssh/sshd_config) を開きます。

  3. お使いの Ubuntu インスタンスバージョンのファイルに CA パラメータを追加します。

    Ubuntu インスタンスのバージョンが 20.04 にアップグレードされている

    sshd_config ファイルに CASignatureAlgorithms パラメータ行を手動で入力します。

    $ sudo vi /etc/ssh/sshd_config
    $ cat /etc/ssh/sshd_config | egrep "CASignature"
    CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

    Ubuntu インスタンスのバージョンが 22.04 にアップグレードされている

    sshd_config ファイルに CASignatureAlgorithmsPubkeyAcceptedAlgorithms のパラメータ行を手動で入力します。

    $ sudo vi /etc/ssh/sshd_config
    $ cat /etc/ssh/sshd_config | egrep "CASignature|PubkeyAccepted"
    CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa-cert-v01@openssh.com,ssh-rsa
  4. 次のコマンドを実行して sshd 設定ファイルの内容を検証します。

    $ sudo sshd -T
  5. 次のコマンドを実行して、ネットワークサービスを再起動します。

    $ sudo systemctl restart sshd
AWS公式
AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ