この記事には、サードパーティ製品に関する情報が含まれる場合があります。 そのような情報は参照だけのためです。 Alibaba Cloudは、明示または黙示を問わず、サードパーティ製品のパフォーマンスと信頼性、および製品に対する操作の潜在的な影響に関して、いかなる保証も行いません。
問題の説明
このトピックでは、SSHを使用してLinuxインスタンスにログインするときの「最大失敗回数に達した」エラーを処理する方法について説明します。
考えられる原因
連続して正しくないパスワードが入力され、システムのPAM認証モジュールポリシー制限がトリガーされ、ユーザーがロックされます。
PAM(Pluggable Authentication Modules) は、Sun Companyによって提案された認証メカニズムです。 いくつかのダイナミックリンクライブラリおよび統合されたAPIのセットを提供することによって、システムによって提供されるサービスは、サービスの認証方法から分離される。 したがって、システム管理者は、サービスプログラムを変更することなく、要件に応じて異なるサービスに対して異なる認証方法を柔軟に構成することができ、システムに新しい認証方法を追加することも便利です。
PAM認証もルートユーザーを制限している場合、ルートユーザーがロックされた後、Linuxインスタンス管理コンソールもSSHリモート接続も正常にログインできず、システムは "あなたのアカウントがロックされています。 失敗した試行の最大量に達しました。エラーが発生した場合、LinuxインスタンスコンソールでシングルユーザーモードでLinuxにログインし、rootユーザーのロックを解除する必要があります。
解決策
以下の点にご注意ください。
インスタンス設定やデータの変更など、リスクを引き起こす可能性のある操作を実行する前に、データのセキュリティを確保するために、インスタンスのディザスタリカバリ機能とフォールトトレランス機能を確認することを推奨します。
ECSおよびRDSインスタンスを含むがこれらに限定されないインスタンスの構成およびデータを変更する場合、スナップショットを作成するか、RDSログバックアップを有効にすることを推奨します。
Alibaba Cloud管理コンソールでログオンアカウントやパスワードなどのセキュリティ情報を承認または送信した場合は、そのような情報をタイムリーに変更することを推奨します。
問題の原因に応じて、2つの解決策があり、手順は次のとおりです。 この記事の構成と説明は、CentOS 7.6 64ビットおよびCentOS 5 64ビットオペレーティングシステムでテストされています。 他のタイプおよびバージョンのオペレーティングシステム構成は異なっていてもよい。 詳細については、オペレーティングシステムの公式ドキュメントを参照してください。
方法1: rootユーザーがロックされていない場合
管理端末を参照し、ルートユーザーとしてLinuxインスタンスにログインし、次のコマンドを実行してシステムのグローバルPAM設定ファイルを表示します。
cat /etc/pam.d/system-auth
次のコマンドを実行して、PAM設定ファイルを表示します。
cat /etc/pam.d/login
次のコマンドを実行して、SSHサービスのPAM設定ファイルを表示します。
cat /etc/pam.d/sshd
vi
またはvim
コマンドを実行して、上記のファイルの内容を編集します。 これらのファイル内の次のコードをコメントアウト、変更、または削除します。説明例としてコメントを取ります。
auth required pam_tally2.so deny=3 unlock_time=5# Source code # auth required pam_tally2.so deny=3 unlock_time=5# After the comments auth required pam_tally . So onerr=fail no_magic_root# Source code # auth required pam_tally.so onerr=fail no_magic_root# After the comments auth required pam_tally2.so deny=5 lock_time=30 unlock_time=10 even_deny_root root_unlock_time=10# Source code # auth required pam_tally2.so deny=5 lock_time=30 unlock_time=10 even_deny_root root_unlock_time=10# After the comments
説明この例では、
pam_tall 2
モジュールが使用されています。pam_tall 2
モジュールがサポートされていない場合は、pam_expiration
モジュールを使用できます。 さらに、設定はPAMバージョンによって異なる場合があります。 特定の使用方法については、関連モジュールの使用規則を参照してください。pam_thyroid
とpam_throyid
の両方を使用して、アカウントのロックアウトポリシーを制御できます。 両者の違いは、前者が自動ロック解除時間の機能を高めることです。even_deny_root
: ルートユーザー。deny
は、共通ユーザーとrootユーザーの連続した不正なログオン試行回数の最大値を示します。 ログイン試行の最大数を超えた場合、ユーザーはロックされます。unlock_time
: 共通ユーザーがロックされた後の期間。 単位は秒です。root_unlock_time
: rootユーザーがロックされた後の期間を指定します。 単位は秒です。
クライアントでSSHを使用して、接続をリモートでテストします。
方法2: rootユーザーがロックされている場合
シングルユーザーモードでログオンするには、管理端末を参照してください。 シングルユーザーモードでは、次のコマンドを順番に実行して、rootユーザーのロックを手動で解除します。
pam_tally2 -u root# displays the number of consecutive incorrect logon attempts of the root user. pam_tally2 -u root -r# clears the root user password for the number of consecutive input errors. authconfig --disableldap --update# updates PAM security authentication records.
インスタンスを再起動した後、方法1に基づいて対応するPAM設定ファイルを変更または変更します。