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

相关推荐
小王C语言2 小时前
xshell免密登录
linux·运维·服务器
请输入蚊子3 小时前
《操作系统真象还原》 第十一章 用户进程
linux·操作系统·操作系统真像还原
Qt程序员3 小时前
网络 I/O 面试必考点:从多进程多线程到异步 I/O 与多路复用
linux·网络编程·多线程·epoll·网络io·阻塞io·io_uring
model20054 小时前
虚拟环境安装yolo26
linux·运维·服务器
Cat_Rocky4 小时前
keepalived简单配置
linux·运维·服务器
开开心心就好4 小时前
一键扫描电脑重复文件的实用工具
linux·运维·服务器·随机森林·智能手机·excel·启发式算法
charlie1145141914 小时前
AwesomeQt:最小的Qt6系列迷你版本教程发布!
linux·c++·qt·c
嵌入式×边缘AI:打怪升级日志5 小时前
Tina SDK Linux Kernel 基本使用(实战篇:为开发板添加用户按键驱动支持)
linux·运维·服务器
瞎折腾啥啊5 小时前
VCPKG详细使用教程
linux·c++·cmake·cmakelists