サイトアイコン IT NEWS

CentOSでパスワードを間違えてログインできなくなった時の対処法

centos-pam_tally2

先日、CentOSSSHログインしようと間違ったパスワードを入力し、数回ログイン失敗してしまいました。
その後、ユーザーパスワードも合っているのにログインできなくなりました。
設定した覚えはないのですが、どうやら一定回数ログインに失敗したことでアカウントロックされたようです。
今回はロック解除ログイン失敗回数リセット方法を紹介します。自宅サーバーを構築する際にいつもお世話になってます「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でログインできない

さぁ、解除するにもSSHrootログイン禁止にしているので入れない。困った。
自宅サーバーにモニターやキーボードを繋いだりするのも面倒だ。
そうだ!仮想化してるから「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

当然パスワードは訊かれますが、これで解除できます。

モバイルバージョンを終了