linux禁用root登录

在 Linux 系统中,禁止 root 用户直接通过 SSH 远程登录是一项基础且至关重要的安全加固措施。这可以有效防止攻击者通过暴力破解等方式直接获取系统的最高权限。

以下是禁用 root 登录的完整操作步骤和最佳实践。

🛑 禁用 Root 登录操作步骤

  1. 修改 SSH 配置文件

首先,您需要编辑 SSH 服务的主配置文件 /etc/ssh/sshd_config。

使用您喜欢的编辑器(如 vim 或 nano)打开文件:

sudo vim /etc/ssh/sshd_config

在文件中找到 PermitRootLogin 这一行。它可能被注释掉了(前面有 #),默认值通常是 yes。

将其修改为 no:

PermitRootLogin no

保存并退出编辑器。

  1. 重启 SSH 服务

修改配置后,需要重启 sshd 服务才能使更改生效。

对于大多数现代 Linux 发行版(如 CentOS 7+, Ubuntu 16.04+),使用 systemctl 命令:

sudo systemctl restart sshd

对于较旧的系统,可能需要使用 service 命令:

sudo service sshd restart

  1. 验证配置

重要提示: 在执行此步骤前,请确保您不要关闭当前的 SSH 会话窗口。

  1. 打开一个新的终端窗口。

  2. 尝试使用 root 用户连接服务器:

ssh root@your_server_ip

  1. 如果配置成功,连接会被拒绝,并提示 Permission denied。

✅ 最佳实践:创建普通用户并授权

禁用 root 登录后,您需要一个普通用户来管理服务器。

  1. 创建新用户

在仍保持 root 登录的旧会话窗口中,创建一个新用户(以 newadmin 为例):

创建用户

sudo useradd -m newadmin

为用户设置密码

sudo passwd newadmin

系统会提示您输入并确认新密码。

  1. 授予 Sudo 权限

为了让新用户能够执行管理员命令,需要将其添加到 sudo 用户组(在 Ubuntu/Debian 上)或直接配置 sudoers 文件(在 CentOS/RHEL 上)。

* Ubuntu/Debian:

sudo usermod -aG sudo newadmin

* CentOS/RHEL:

使用 visudo 命令安全地编辑 /etc/sudoers 文件,添加一行:

newadmin ALL=(ALL) ALL

这允许 newadmin 用户通过 sudo 命令获得临时的 root 权限。

  1. 测试新用户登录

现在,您可以使用新用户 newadmin 登录服务器。登录后,如需执行特权命令,在命令前加上 sudo 即可。

ssh newadmin@your_server_ip

⚠️ 关键注意事项

* 保留一个活动会话:在修改 SSH 配置期间,务必保留一个已经登录的 root 会话窗口不要关闭。直到您确认新用户可以成功登录并拥有 sudo 权限后,再关闭旧的 root 会话。这是防止因配置错误导致无法远程访问服务器的"后悔药"。

* 防火墙与安全组:如果您同时修改了 SSH 的默认端口(22),请确保服务器的防火墙和云平台的安全组规则已经放行了新的端口,否则同样会导致无法连接。

相关推荐
刚入门的大一新生20 分钟前
Linux-进程间通信1
linux·运维·服务器
张宇Joaquin44 分钟前
Linux系统下磁盘扇区512n、512e和4kn的区别
linux·运维·数据库
道虽迩,不行不至1 小时前
数据库自动连库执行增量脚本-Linux
linux·数据库
GeW1 小时前
新质生产力发展路线图来了,Linux和数据库人该怎么接
linux·数据库
yunwei371 小时前
eBPF 示例:使用 CUPTI 构建 GPU 火焰图分析器
linux·后端·性能优化
张宇Joaquin2 小时前
自研SP600系列网卡驱动跟麒麟V10 SP3 2403配套关系
linux·运维·网络
艾iYYY2 小时前
【无标题】
linux·开发语言·网络·操作系统
mklpo1473 小时前
在 安卓手机 上通过termux运行 gentoo 和 宝塔面板。2026.10.19
linux·运维·服务器
xatu3 小时前
ubuntu容器在redhat系统下使用大模型API问题
linux·运维·ubuntu
水饺编程4 小时前
第2章:Linux 基础,rm 命令
linux·c语言·汇编