スキップしてコンテンツを表示

ブラウザベースの SSH コンソールを使用して Lightsail インスタンスにアクセスするとエラーが表示される理由を教えてください。

所要時間3分
0

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

簡単な説明

次のいずれかのエラーメッセージが表示されます。

  • "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 インスタンスに接続できない場合に発生します。

次の理由により接続の問題が発生する可能性があります。

  • インスタンスの起動失敗、ステータスチェックの失敗、または CPU やメモリリソースが過剰に使用されている。
  • オペレーティングシステム (OS) レベルのファイアウォールが SSH ポートアクセスをブロックしている。
  • SSH ポート 22 がデフォルトのポート設定ではない。
  • SSH サービスがダウンしている。

"CLIENT_UNAUTHORIZED [769]" エラーは、Lightsail インスタンスに SSH 認証の問題があることを示しています。

次の理由により認証の問題が発生する可能性があります。

  • /etc/ssh/lightsail_instance_ca.pub の Lightsail システムキーの設定が正しくない。
  • Ubuntu インスタンスのバージョンを 20.04 以降にアップグレードしたときに、必要な SSH 設定を使用しなかった。

解決策

インスタンスの正常性とステータスを確認する

インスタンスメトリクスを表示して、システムまたはインスタンスのステータスチェックの失敗を確認します。

システムステータスチェックに失敗した場合は、インスタンスを停止して再起動し、正常なハードウェアに移行します。

警告: インスタンスのパブリック IP アドレスは、インスタンスを停止して開始するたびに変更されます。アドレスを変更したくない場合は、インスタンスを停止する前に静的 IP アドレスを割り当ててください

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

ファイアウォールの問題を解決する

iptables や Uncomplicated Firewall (UFW) などの OS レベルのファイアウォールがアクセスをブロックしている場合は、次のいずれかの操作を実行してください。

  • ターミナルまたは PuTTY 経由の SSH アクセスがある場合は、ファイアウォールと /etc/hosts.deny ファイルから拒否ルールを削除します。cPanel インスタンスの場合は、Web Host Manager (WHM) コンソールを使用してファイアウォールルールを削除します。
  • SSH アクセスがない場合は、新しいインスタンスを作成し、ファイアウォールと /etc/hosts.deny ファイルを無効にする起動スクリプトを追加します。

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

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

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

  3. インスタンスをスナップショットから作成します。
    注: 以前のインスタンスと同じアベイラビリティーゾーンを選択します。

  4. [起動スクリプトの追加] を選択し、次のスクリプトを追加します。

    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

    注: 上記のスクリプト例は、UFW ファイアウォールを無効にし、すべての iptable チェーンまたはファイアウォールルールをフラッシュし、/etc/hosts.deny ファイルの名前を変更して無効にします。

  5. 新しいインスタンスプランを選択するか、以前のインスタンスと同じプランを使用してください。

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

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

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

SSH サービスの問題を解決する

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

次の手順を実行します。

  1. 次の SSH 認証ログファイルのいずれかを参照して、エラーメッセージや認証の失敗がないかを確認します。
    Ubuntu ログファイル:
    /var/log/auth.log
    Amazon Linux ログファイル:
    /var/log/secure

  2. ファイルにエラーメッセージが表示される場合は、次のいずれかの操作を行います。
    "Invalid user" または "Failed password" というメッセージが表示された場合は、/etc/ssh/sshd_config ファイルの SSH キー設定を確認します。
    "Connection refused" というメッセージが表示された場合は、次のコマンドを実行して SSH サービスが実行されていることを確認します。

    sudo systemctl status sshd

    "Permission denied" というメッセージが表示された場合は、次のコマンドを実行して SSH ディレクトリとキーファイルのアクセス許可を確認します。

    sudo chmod 700 ~/.ssh
    sudo chmod 600 ~/.ssh/authorized_keys
  3. エラーメッセージが表示されない場合は、次のコマンドを実行して SSH 設定をテストし、再起動します。

    sudo sshd -t
    sudo systemctl restart sshd

Lightsail システムキーを復元する

/etc**/ssh/lightsail_instance_ca.pub** キーが見つからない場合は、次の手順を実行してください。

  1. ターミナルまたは PuTTY 経由の SSH アクセスがある場合は、次のコマンドを実行して ssh-rsa キーを確認します。

    sudo cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa
  2. 次のいずれかの手順を実行します。
    キーが存在する場合は、次のコマンドを実行して復元します。

    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

    ssh-rsa キーを取得できない場合、または SSH を使用してインスタンスに接続できない場合は、インスタンスのスナップショットを作成します。スナップショットから新しいインスタンスを起動すると、Lightsail システムキーがサーバーに自動的に追加されます。

Ubuntu 20.04 以降用に SSH を設定する

以前の Ubuntu インスタンスバージョンを 20.04 にアップグレードした場合は、認証局 (CA) が ssh-rsa キーを使用して証明書に署名することを手動で許可する必要があります。Ubuntu バージョン 20.04 以降を実行するインスタンスを作成した場合、CA はデフォルトで ssh-rsa アルゴリズムを使用できます。

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:
    次のコマンドを実行して、CASignatureAlgorithmsPubkeyAcceptedAlgorithms の両方のパラメータ行を sshd_config ファイルに追加します。

    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. 次のコマンドを実行して、sshd サービスを再起動します。

    sudo systemctl restart sshd  
    

関連情報

What is Amazon Lightsail? (Amazon Lightsail とは)

Connect to and manage your Lightsail instance (Lightsail インスタンスへの接続と管理)

AWS公式更新しました 9ヶ月前
コメントはありません

関連するコンテンツ