Ubuntu Server 22.04でSSH接続のパスワード認証を有効に出来ない

普段はサーバ用途でもUbuntu Desktopをminimal installationで使用することが多いのですが、久しぶりにUbuntu Server 22.04を入れてみたらSSH接続のパスワード認証を有効にできなくてドツボったので対処方法を残しておきます。

スポンサーリンク

結論

/etc/ssh/sshd_config.d/*.conf にパスワード認証を無効にする設定があったので有効にならなかった

詳細

まずSSH関連の設定を行う /etc/ssh/sshd_config では冒頭の部分で以下のようにconfファイルをincludeしています。

$ cat /etc/ssh/sshd_config

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

Include /etc/ssh/sshd_config.d/*.conf
(以下、略)

そして、Ubuntu Desktopでは通常はこの /etc/ssh/sshd_config.d 配下には何もファイルがない状態になっています。

$ ll /etc/ssh/ssh_config.d/
total 8.0K
drwxr-xr-x 2 root root 4.0K Feb 26  2022 ./
drwxr-xr-x 4 root root 4.0K Jul  2 00:00 ../

したがってSSHに関する設定はsshd_configファイルで完結しているのですが、Ubuntu Serverでは以下のようにconfファイル(60-cloudimg-settings.conf)が存在しており、その中でパスワード認証が無効にされているため、sshd_configをいくら変更してみてもパスワード認証が有効に出来ない状態となっていました。

$ ll /etc/ssh/sshd_config.d/
total 16
drwxr-xr-x 2 root root 4096 Oct  1 18:19 ./
drwxr-xr-x 4 root root 4096 Oct  1 18:18 ../
-rw-r--r-- 1 root root   26 Sep 11 23:29 60-cloudimg-settings.conf

$ cat /etc/ssh/sshd_config.d/60-cloudimg-settings.conf 
PasswordAuthentication no

そのため、このconfファイルを削除するかもしくはこのデフォルトで存在するファイルよりもさらに先に読み込まれるファイルを用意してその中でパスワード認証を有効にするようにすればOKです。

$ ll /etc/ssh/sshd_config.d/
total 16
drwxr-xr-x 2 root root 4096 Oct  1 18:19 ./
drwxr-xr-x 4 root root 4096 Oct  1 18:18 ../
-rw-r--r-- 1 root root   27 Oct  1 18:19 00-user-settings.conf # <- 追加
-rw-r--r-- 1 root root   26 Sep 11 23:29 60-cloudimg-settings.conf

$ cat /etc/ssh/sshd_config.d/00-user-settings.conf 
PasswordAuthentication yes

設定が終わったら最後にSSHのサービスを再起動するのを忘れないでください。

systemctl restart sshd
スポンサーリンク