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),请确保服务器的防火墙和云平台的安全组规则已经放行了新的端口,否则同样会导致无法连接。

相关推荐
A小辣椒10 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒14 小时前
TShark:基础知识
linux
AlfredZhao16 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩2 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言