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

相关推荐
网硕互联的小客服5 小时前
Linux服务器磁盘应该如何合理分区?
linux·运维·服务器
贵沫末6 小时前
Ubuntu——常用软件安装
linux·运维·ubuntu
Doraemomo7 小时前
Linux内核驱动开发——中断与定时器
linux·运维·驱动开发
2301_808414387 小时前
Linux中动静态库的理解
linux·运维·服务器
M78佐菲8 小时前
ARM学习笔记(11)
linux·arm开发·笔记·嵌入式硬件·学习
M78佐菲8 小时前
ARM学习笔记(10)
linux·arm开发·笔记·嵌入式硬件·学习
半仙白桑8 小时前
内核篇第十五讲:system-V共享内存
linux·共享内存·shmget·shmat·shmdt·shmctl
一条破秋裤9 小时前
Linux 线程创建:pthread_create 与基本回收
java·linux·运维
s65166549610 小时前
IDT和GDT是什么
linux
Android系统攻城狮10 小时前
Linux Gstreamer深度解析之gst_audio_decoder_set_estimate_rate调用流程与实战(四十五)
linux·gstreamer音视频·音视频进阶