CentOS7で遭遇したトラブル。
本日話題のGHOST脆弱性にyum updateでパッチを当てたところ SSHログインできなくなってしまった というものです。
- root権限でyum update → もちろん成功
(この時点で /root/.ssh/authorized_keys が空ファイルになってしまったよう) - リブートしてSSHで再ログインを試みる。公開鍵認証が通らない。
- パスワード認証でSSHログインを試みる。しかしパスワード認証は切ってあった!
- VPSのリモートコンソールでログインし状況確認を試みる。この時点で、/root/.ssh/authorized_keys が空になっており、タイムスタンプがアップデート作業した頃になっているのを確認。
- パスワードログインで入れるよう、sshdの設定ファイルを修正(ただし、リモートコンソールゆえの苦労がたくさん。キーボード配列がおかしくvimもemacsも保存ができなかったのでUNIXツール類を組み合わせて書き換えたりするなど)。
- sshdを再始動してログイン成功。
- このままじゃまずいし公開鍵を置き直すか… え? /root/.ssh/authorized_keys の内容が復活している!?
最初に authorized_keys が空になってしまったのも再ログイン成功後に authorized_keys の内容が復活しているのも、見間違えでない証拠に、タイムスタンプが変わっていました。誰の仕業なんだ…
ともかく、yum update glibc の動き、どうもおかしゅうございます。
パッチ適用後はリブートする前に authorized_keys を確認し、もし異常があればsshdの設定を変えてパスワードでも入れるようにしておいてから抜けることをお薦めします。
/etc/ssh/sshd_config
PasswordAuthentication yes