You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04系统sshd_config中存在两处PermitRootLogin配置的疑问

Ubuntu 22.04系统sshd_config中存在两处PermitRootLogin配置的疑问

嗨,我来帮你把这个问题理清楚~

为什么会出现两处PermitRootLogin配置?

  • 开头注释掉的那行#PermitRootLogin prohibit-password是OpenSSH默认配置文件里的示例默认值,官方的配置文件习惯把默认参数注释起来,方便用户参考默认行为是什么。
  • 末尾那行未注释的PermitRootLogin yes,应该是你(或者之前维护服务器的人)后来手动添加/取消注释的,目的是覆盖默认配置,设置自己需要的规则。

哪个配置才是当前生效的?

sshd加载配置的时候是按从上到下的顺序读取的,后面的配置会直接覆盖前面的同名参数。而且被#注释掉的行根本不会被解析,所以这里只有末尾那行PermitRootLogin yes是当前真正生效的规则。

如果你想确认的话,可以在服务器上运行这个命令查看实际生效的配置:

sshd -T | grep permitrootlogin

输出的结果就是sshd实际使用的PermitRootLogin值。

能不能删除第二处配置?

当然可以!如果你想禁用root的密码登录(或者改成其他规则),可以这么操作:

  • 方案一:删掉末尾的PermitRootLogin yes,然后把开头注释的#PermitRootLogin prohibit-password前面的#去掉,让默认的禁止密码登录规则生效;
  • 方案二:直接把末尾的PermitRootLogin yes改成你想要的值(比如PermitRootLogin prohibit-password),开头的注释行留着或者删掉都没关系,毕竟它只是参考用的。

⚠️ 重要提示:修改完配置后,一定要重启sshd服务让新配置生效,命令是:

sudo systemctl restart sshd

另外建议提前开一个备用的SSH连接,避免配置出错导致无法远程登录服务器。

备注:内容来源于stack exchange,提问作者nooboverflow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 09:54:33