ブラウザベースの SSH コンソールを使用して Lightsail インスタンスにアクセスするときに、「 UPSTREAM_ERROR」、「UPSTREAM_NOT_FOUND」 または「CLIENT_UNAUTHORIZED」というエラーが表示されるのはなぜですか?

最終更新日: 2021 年 11 月 24 日

ブラウザベースの SSH コンソールを使用して Amazon Lightsail インスタンスに接続すると、次のいずれかのエラーメッセージが表示されます。

  • 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.(このインスタンスが起動したばかりの場合は、1~2 分待ってからもう一度試してください。)UPSTREAM_NOT_FOUND [519]
  • Login failed.(ログインに失敗しました。)If this instance has just started up, try again in a minute or two.(このインスタンスが起動したばかりの場合は、1~2 分待ってからもう一度試してください。)CLIENT_UNAUTHORIZED [769]

これらのエラーをトラブルシューティングするにはどうすればよいですか?

簡単な説明

UPSTREAM_ERROR [515] および UPSTREAM_NOT_FOUND [519] エラーは、SSH を使用しているときに Lightsail インスタンスに到達できないことを示しています。こうしたエラーが発生する一般的な原因は次のとおりです。

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

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

  • /etc/ssh/lightsail_instance_ca.pub 内の Lightsail システムキーの設定ミス。
  • Ubuntu インスタンスを古いバージョンから 20.04 以降にアップグレードした。

解決方法

インスタンスの起動失敗、インスタンスのステータスチェックの失敗、またはインスタンスのリソースの過剰な使用率。

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

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

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

警告: インスタンスのパブリック IP アドレスは、インスタンスの停止と起動のたびに変更されることに注意してください。インスタンスを停止または起動しても IP アドレスを同じままにする場合は、静的 IP アドレスをアタッチします。

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

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

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

ブラウザベースの SSH アクセスは、Amazon 内部 IP アドレスを使用して Lightsail インスタンスに接続します。Iptables、UFW などの OS レベルのファイアウォール、または /etc/hosts.deny などのアクセスコントロールファイル (つまり、 cPanel ベースのインスタンスのホストアクセスコントロール) が、一連の IP アドレスのみへの SSH アクセスを許可し、その他はすべて拒否する場合、UPSTREAM_NOT_FOUND [519] または UPSTREAM_ERROR [515] エラーが発生します。ファイアウォールが SSH アクセスを完全にブロックしている場合も、同じ問題が発生します。

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

  • ターミナルまたは PuTTY アプリケーションを使用したインスタンスへの SSH アクセスが機能する場合は、インスタンスにログインし、ファイアウォールおよび /etc/hosts.deny ファイルから拒否ルールを削除します。
  • cPanel インスタンスがある場合は、WHM コンソールにアクセスしてファイアウォールルールを削除します。
  • ターミナルまたは PuTTY アプリケーションから SSH を使用してインスタンスに接続できない場合は、起動スクリプトを使用してファイアウォールを無効にします。起動スクリプトは、インスタンスの起動時にのみ追加できます。起動スクリプトを使用して 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 アドレスをデタッチし、[Networking] (ネットワーク) タブから新しいインスタンスにアタッチします。詳細については、Static IP addresses in Amazon Lightsail を参照してください。

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

SSH サービスがインスタンスで実行中またはアクティブでない場合、SSH 接続は失敗し、 UPSTREAM_NOT_FOUND [519] エラーが発生します。この問題をトラブルシューティングするには、Lightsail インスタンスの AWS Systems Manager セッションマネージャーサービスを設定します。セッションマネージャーの設定後、SSH サービスなしでインスタンスにアクセスし、SSH の問題を修正します。

SSH の問題に関する基本的なトラブルシューティング手順は次のとおりです。

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

Lightsail システムキー /etc/ssh/lightsail_instance_ca.pub の設定ミス

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

ターミナルまたは PuTTY アプリケーションを介したインスタンスへの SSH 接続が機能する場合は、インスタンスにログインし、/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.    ステップ 1 で ssh-rsa キーを取得しない場合、あるいはターミナルまたは PuTTY アプリケーションを使用してインスタンスに SSH 接続できない場合は、インスタンスの手動スナップショットを作成し、そのスナップショットを使用して新しいインスタンスを起動します。Lightsail システムキーは、インスタンスの起動時に自動的にサーバーに追加されます。

Ubuntu の古いバージョンから 20.04 以降にアップグレードした

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

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

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

2.    CASignatureAlgorithms の行に ssh_rsa を追加します。次の例は、ssh_rsa を追加するように変更した後の CASignatureAlgorithm 行を示しています。

CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

3.    次のコマンドを実行して、サービスを再起動します。

$ sudo systemctl restart sshd

この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?