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

所要時間3分
0

ブラウザベースの SSH コンソールを使用して Amazon Lightsail インスタンスに接続すると、「UPSTREAM_ERROR [515]」、「UPSTREAM_NOT_FOUND [519]」、または 「CLIENT_UNAUTHORIZED [769] 」メッセージが表示されます。 これらのエラーをトラブルシューティングするにはどうすればよいですか?

簡単な説明

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

  • 「Your instance encountered an error and has closed the connection.Try again or contact customer support.UPSTREAM_ERROR [515]」(インスタンスにエラーが発生し、接続が閉じられました。もう一度お試しいただくか、カスタマーサポートにお問い合わせください。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]」(エラーが発生したため、インスタンスに接続できなかったか、または接続した状態を維持できませんでした。このインスタンスを起動したばかりである場合は、1~2 分待ってからもう一度お試しください。UPSTREAM_NOT_FOUND [519])
  • 「Login failed.If this instance has just started up, try again in a minute or two.CLIENT_UNAUTHORIZED [769]」(ログインに失敗しました。このインスタンスを起動したばかりである場合は、1~2 分待ってからもう一度お試しください。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 を挙げることができ、コントロールファイルの例としては /etc/hosts.deny (cPanel ベースのインスタンスにおけるホストアクセスコントロール) を挙げることができます。

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

  • ターミナルまたは 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) を開きます。

3.    ご利用の Ubuntu のバージョンに応じて、CA パラメータをファイルに追加します。

       OS バージョンを 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

       OS バージョンを Ubuntu 22.04 にアップグレードした場合: sshd_config ファイルに CASignatureAlgorithms および PubkeyAcceptedAlgorithms パラメータ行を手動で入力します。

$ 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公式更新しました 1年前
コメントはありません

関連するコンテンツ