先日、CentOSにSSHでログインしようと間違ったパスワードを入力し、数回ログインに失敗してしまいました。
その後、ユーザーもパスワードも合っているのにログインできなくなりました。
設定した覚えはないのですが、どうやら一定回数ログインに失敗したことでアカウントがロックされたようです。
今回はロック解除とログイン失敗回数のリセット方法を紹介します。自宅サーバーを構築する際にいつもお世話になってます「Server World」さんから引用します。
設定を確認する
- ローカルログインの場合
-
vi /etc/pam.d/system-auth
- sshdの場合
-
vi /etc/pam.d/password-auth
- deny=N で N回失敗でロック (root は適用外)
- root も適用する場合は「even_deny_root」を付加
- unlock_time=N で N秒間過ぎるとロック解除 (自動ロック解除しない場合は unlock_time 指定しない)
- even_deny_root で root も適用した場合は root_unlock_time=N で自動ロック解除期間を指定可
手動でロックを解除する
そもそもSSHでログインできない
さぁ、解除するにもSSHはrootログイン禁止にしているので入れない。困った。
自宅サーバーにモニターやキーボードを繋いだりするのも面倒だ。
そうだ!仮想化してるから「VMware vSphere Client」を使おう!
ってなわけで、無事にrootでログイン。
失敗回数を確認する
ロックを解除するには、「pam_tally2」コマンドを使います。
その前に、ログインできなくなったユーザーの失敗回数を確認してみましょう。
pam_tally2 -u [ユーザ名]
すると、このように表示されると思います。
Login Failures Latest failure From
admin 27 07/23/17 19:24:01 xxx.xxx.xxx.xxx
お…おふぅっ!!
いつの間にか27回も間違えてたのか。
いや、これは攻撃されてるな!?
ロック解除(失敗回数リセット)
ロックを解除する場合は、
pam_tally2 -r -u [ユーザ名]
しかし、これだけでは失敗27回という汚点は消えず。
ついでに失敗回数もリセットしたい場合は、
pam_tally2 -u [ユーザ名] --reset
これでスッキリ!
最後に疑問
知ってる人がいたら教えてください。
今回はrootをロックする設定をしていなかったのだが、もしrootもロックされたらどうなるのだろう?再構築か?
追記(2018.9.19)
後でわかったのですが、rootパスワードのロックを解除する場合は、頭に「sudo」を付けるだけでできました!
sudo pam_tally2 -r -u root
当然パスワードは訊かれますが、これで解除できます。
- Original:https://minory.org/centos-pam_tally2.html
- Source:Minory
- Author:管理者