状況
CentOS で SSH のパスワード認証を無効にした直後、接続できなくなる主な原因は何ですか?
多くの場合、SSH サービス全体が停止したのではなく、残された公開鍵認証が成功していません。authorized_keys がない、別ユーザーに鍵を登録した、所有者や権限が正しくない、クライアントが別の鍵を提示している、といった原因が考えられます。
パスワード認証の無効化は最後に行います。現在の接続を保ったまま、別の端末から対象ユーザーで新しい鍵ログインが成功することを確認してから変更してください。
このサイトの補助スクリプトは authorized_keys が非空か確認し、sshd_config の構文検証に失敗した場合はバックアップを復元します。ただし、鍵が一致するか、別端末からログインできるかは検証しません。事前確認を省略しないでください。
確認すること
- getent passwd で対象アカウントのホームディレクトリを確認します。
- そのホームの .ssh と authorized_keys の所有者・権限を確認します。
- 現在の接続を閉じる前に、別端末から新しい鍵ログインを試します。
- 非 root ユーザーを対象にする場合は TARGET_USER を指定します。既定値は SUDO_USER、なければ root です。