禁止使用root用户远程登录Linux系统
“/etc/ssh/sshd_config”配置文件中的“PermitRootLogin”参数用于控制是否允许root用户通过SSH登录系统。为提升安全性,建议将该参数设置为“no”,禁止root用户直接登录。
系统管理员需先使用个人账户进行SSH登录,然后通过sudo或su提升权限到root。这样有助于在发生安全事件时,提供清晰的审计线索。在修改此配置前,应确保系统中已存在其他具有系统管理员权限的用户账号,否则在配置生效后,将可能导致无法进行SSH远程管理。
配置生效后,root用户不能通过SSH远程登录。
操作步骤
- 检查PermitRootLogin配置是否正确(需同时满足如下两个命令行的检查)。
- 命令一
sshd -T -C user=root -C host="$(hostname)" -C addr="$(grep $(hostname) /etc/hosts | awk '{print $1}')" | grep permitrootlogin如下为示例,表示禁止root用户直接登录。
permitrootlogin no
- 命令二
grep -Ei '^\s*PermitRootLogin\s+yes' /etc/ssh/sshd_config
如下为示例,表示不存在“PermitRootLogin yes”的配置。
Nothing is returned
- 命令一
- 若不能同时满足以上检查,请修改“/etc/ssh/sshd_config”文件,并重启sshd服务。
- 打开配置文件。
vim /etc/ssh/sshd_config
- 按“i”进入编辑模式,将“PermitRootLogin”参数修改为“no”。
PermitRootLogin no
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 重启sshd服务。
systemctl restart sshd
- 打开配置文件。
父主题: 运行和服务