【RHEL9】パスワード認証のrootでSSH接続できない
おはこんばんにちは、ビショップです。
最近は1か月ごとに備忘録ばっかり書いてる。
AWS EC2のインスタンス起動時に選択できるRHELがいつのまにか9になってた。今回は特に気にせずにそのままRHEL9で新しくインスタンスを起動しましたが、タイトル通り、rootでのSSH接続でハマりました。そもそも論は置いておきます。
最初はコマンドプロンプトから公開鍵を指定して接続、/etc/ssh/sshd_configで下記を変更しました。
# To disable tunneled clear text passwords, change to no here! PasswordAuthentication yes #コメントアウトを外す #PermitEmptyPasswords no # たぶん一番下の行 #PasswordAuthentication no #コメントアウトする
PasswordAuthenticationを有効にした感じですね。RHEL8までならこれで
systemctl restart sshd.service
を実行すればパスワードを使ってrootでログインできました。(パスワードは設定してね)
が、どうにもうまくいかない。調べてみると、少し追加で設定が必要のようです。
RHEL9からは
- /etc/ssh/sshd_config.dの下に「01-permitrootlogin.conf」というファイルを作る。
- 01-permitrootlogin.confに「PermitRootLogin yes」を追記する。
- sshd.serviceを再起動する。
直接/etc/ssh/sshd_configのPermitRootLoginをyesにしても動くと思いますが、confファイル作った方がいいんじゃないですかね。RHEL9のインストール時に「パスワードによるroot SSHログインを許可」みたいな設定が出来るんですが、そちらでもconfファイルが追加され、sshdが起動する際にincludeされる形となってると思います。
普通の人はちゃんと公開鍵使いましょうね。そんな難しいものじゃないから。