02-Ubuntu24 禁用密码不生效
新开了一台服务器,想改为密钥登录,并且禁止密码登录
等修改 /etc/ssh/sshd_config 文件之后重启 ssh 服务被提示
xroot@123:~# sudo /etc/init.d/ssh restartRestarting ssh (via systemctl): ssh.service.
搜索之后发现,是因为 Ubuntu 24 使用 systemctl 管理 ssh ,所以使用 systemctl 重启即可
xroot@123:~# sudo systemctl restart ssh
没有任何输出,说明执行成功
但是发现依然可以使用密码登录
猜测可能是配置文件有误,导致服务无法重启
使用
xroot@123:~# sudo sshd -t/etc/ssh/sshd_config line 117: Deprecated option RSAAuthentication
发现 RSAAuthentication yes 该项可能被弃用
通过搜索
xxxxxxxxxx# RSAAuthentication yes# 将 RSAAuthentication yes 替换为以下PubkeyAuthentication yes
最后测试
xroot@123:~# sudo sshd -t
发现不再输出内容,即不再报错
再次重启服务
xroot@123:~# sudo systemctl restart ssh
发现依然可以使用密码登录
再次猜测可能是 ssh 服务重启不完整
通过搜索 ubuntu 24 ssh 配置文件不生效 等关键词,找到该文档
最后执行
xroot@123:~# systemctl daemon-reloadroot@123:~# systemctl restart ssh.socket
发现没有输出,即没有报错
再次连接,发现依然可以使用密码登录
最后,通过部分文献网站,得知 ssh 目录下可能存在其他配置文件,导致主配置文件中的项被覆盖
一通寻找下,最终发现 /etc/ssh/sshd_config.d/ 目录下存在 50-cloudinit.conf 文件
xroot@123:~# la /etc/ssh/sshd_config.d/50-cloud-init.conf
打开该文件,发现里面只有一句配置
xroot@123:~# cat /etc/ssh/sshd_config.d/50-cloud-init.confPasswordAuthentication yes
火速将该行注释掉
xroot@123:~# cat /etc/ssh/sshd_config.d/50-cloud-init.conf#PasswordAuthentication yes
重启 ssh 服务
xroot@123:~# sudo systemctl restart ssh
最后发现密码登录成功禁止