Amazon Lightsail の Plesk コントロールパネルにログインできません。ログイン時の一般的な問題を診断してトラブルシューティングしたい。
簡単な説明
Lightsail インスタンスの Plesk コントロールパネルへのログインエラーの一般的な理由には、次のものがあります。
- ログインリンクの IP アドレスが誤っている。
- HTTPS ポート 443 および 8443 へのアクセスがブロックされている。
- Plesk のファイアウォールが IP アドレスを許可していない。
- インスタンスのオペレーティングシステムのファイアウォールがアクセスを許可していない。
- オペレーティングシステムインスタンスに問題がある。
解決策
Lightsail を再起動して正しいログインリンクを取得する
Lightsail インスタンスに静的 IP アドレスをアタッチすると、古い IP アドレスを含む、誤ったログインリンクが送信されます。正しい IP アドレスの 1 回限りのログインリンクを取得するには、次の手順を実行します。
-
Lightsail を停止してから、再起動します。詳細については、「Lightsail インスタンスの起動、停止、再起動」を参照してください。
-
インスタンスを再起動できない場合は、次のコマンドを実行します。Example-IP は、お使いの IP アドレスに置き換えてください。
$ sudo plesk bin admin --enable-access-domain "example-IP"
-
Plesk インスタンスの 1 回限りのログイン URL を取得します。
ポート 433 および 8443 へのアクセスを許可する
Plesk がお使いの IP アドレスからのアクセスを許可している場合は、ポート 443 と 8443 がブロックされていないことを確認します。これらのポートへのアクセスを確認するには、次のコマンドを実行します。
telnet example-IP 443
telnet example-IP 8443
注: example-IP は、お使いの IP アドレスに置き換えてください。
出力に「接続がタイムアウトしました」または「接続が拒否されました」というエラーが含まれている場合は、その出力に対応するポートのブロックを解除します。詳細については、「Lightsail のファイアウォールによるインスタンストラフィックの制御」を参照してください。
Plesk のファイアウォールで IP アドレスのブロックを解除する
Plesk のローカルファイアウォールルールで、お使いの IP アドレスからのアクセスが許可されていることを確認します。詳細については、Plesk ウェブサイトの「Plesk for Linux で Plesk ファイアウォールを使用してローカルファイアウォールルールを管理する方法」を参照してください。
Plesk ファイアウォール
-
ルールを一覧表示します。
sudo /usr/local/psa/bin/modules/firewall/settings --list-json
-
TCP ポート 443 と 8443 でアクセスが許可されていることおよび、お使いの IP アドレスがブロックされていないことを確認します。ルールに Deny が含まれている場合は、アクセスをブロックしているルールの ID 番号を書き留めておきます。次に、ルールを削除します。id_number の値を、メモしたルールの ID 番号に置き換えます。
sudo /usr/local/psa/bin/modules/firewall/settings --remove-rules -ids example_id_1,example_id_2
-
アクセスを許可します。**-name ** と **-ports ** をステップ 2 で取得したルールの ID 番号に置き換えます。
sudo /usr/local/psa/bin/modules/firewall/settings -s -name 'My rule' -direction input -action allow -ports '8443/tcp,443/tcp'
オペレーティングシステムのファイアウォールで IP アドレスのブロックを解除する
Uncomplicated Firewall (UFW)、Fail2ban、iptables が、Plesk アクセスをブロックする可能性があるオペレーティングシステムのファイアウォールです。IP アドレスをブロックしているオペレーティングシステムのファイアウォールをトラブルシューティングするには、SSH を使用して Lightsail に接続します。次に、ユースケースに基づいて次のアクションを実行します。
UFW
- UFW がポート 443 と 8443 へのアクセスを許可していることを確認します。
$ sudo ufw status numbered
注: 出力に Status: active が含まれている場合は、手順 2 に進みます。
- ポート 443 および 8443 へのアクセスを許可します。
# sudo ufw allow 443
# sudo ufw allow 8443
Fail2ban
-
Fail2ban が許可しない IP アドレスを一覧表示します。
$ sudo fail2ban-client banned
-
IP アドレスのブロックを解除します。example-IP は、お使いの IP アドレスに置き換えてください。
$ sudo fail2ban-client set plesk-panel unbanip example-IP
Iptables
-
iptables のルールを一覧表示します。次に、ポート 443 と 8443 でアクセスが許可されていることを確認し、お使いの IP アドレスがブロックされていないことを確認します。
$ sudo iptables -L --line-numbers
iptables がアクセスを許可している場合、出力には ACCEPT が含まれます。iptables がポートへのアクセスを許可していない場合は、手順 2 に進んでください。
または、
iptables のルールで IP アドレスがブロックされている場合は、チェーン名と行番号を書き留めておきます。次に、手順 3 に進みます。
-
ポートへのアクセスを許可します。
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8443 -j ACCEPT
-
お使いの IP アドレスをブロックしているルールを削除します。example_chain_name をチェーン名に、example_line_number をステップ 1 で取得した行番号に置き換えます。
$ sudo iptables -D example_chain_name example_line_number
-
お使いの IP アドレスからのアクセスを許可します。example_chain_name をステップ 1 のチェーン名に、example_IP をお使いの IP アドレスに置き換えます。
$ sudo iptables -A example_chain_name -s example_IP -p tcp --dport 443 -j ACCEPT
$ sudo iptables -A example_chain_name -s example_IP -p tcp --dport 8443 -j ACCEPT
オペレーティングシステムのファイアウォールを無効にする
オペレーティングシステムのファイアウォールのブロックを解除できない場合は、ファイアウォールを無効にします。ただし、ファイアウォールを無効にするとカスタムルールがフラッシュされます。したがって、ファイアウォールは有効のままにしておくのがベストプラクティスです。詳細については、Tecmint のウェブサイトで「Linux で FirewallD と Iptables ファイアウォールを起動/停止したり、有効/無効にしたりする方法」を参照してください。
オペレーティングシステムに問題がある
オペレーティングシステムの問題をトラブルシューティングするには、インスタンスのパフォーマンスとオペレーティングシステムのアプリケーションログを確認してください。
インスタンスのパフォーマンスを確認する
Lightsail が応答していることを確認してください。詳しくは、「Lightsail インスタンスが応答しなくなる一般的な問題のトラブルシューティング方法を教えてください」を参照してください。
オペレーティングシステムのアプリケーションログを確認する
オペレーティングシステムのアプリケーションログで、ログインエラーと一致するタイムスタンプを確認してください。