centos禁止root登录后如何远程管理服务器?

在CentOS系统中,禁止root用户直接通过SSH登录是一种常见的安全实践,可以有效降低系统被未授权访问的风险,root用户拥有系统的最高权限,一旦其登录凭证泄露,可能导致整个系统被控制,通过限制root登录并改用普通用户提权的方式,可以显著提升系统的安全性,本文将详细介绍如何在CentOS中实现禁止root登录,以及相关的配置注意事项。

centos禁止root登录后如何远程管理服务器?

修改SSH配置文件

需要编辑SSH服务的配置文件/etc/ssh/sshd_config,使用文本编辑器(如vi或nano)打开该文件,找到以下两行内容并确保其配置正确:

  • PermitRootLogin yes:这行允许root用户直接登录,需将其修改为PermitRootLogin no
  • PasswordAuthentication yes:如果希望禁用root密码登录但仍允许密钥登录,可以保留此行;若完全禁用root登录,此行无需修改。

修改完成后,保存文件并退出编辑器。

重启SSH服务使配置生效

配置文件修改后,需要重启SSH服务以使更改生效,执行以下命令:

sudo systemctl restart sshd  

重启后,root用户将无法直接通过SSH登录系统。

创建普通用户并配置sudo权限

禁止root登录后,需要创建一个具有管理员权限的普通用户,使用useraddadduser命令创建新用户,

centos禁止root登录后如何远程管理服务器?

sudo useradd -m username  

-m选项会自动创建用户的主目录,为新用户设置密码:

sudo passwd username  

编辑/etc/sudoers文件(使用visudo命令),为新用户配置sudo权限,在文件末尾添加以下内容:

username ALL=(ALL) ALL  

保存后,该用户即可通过sudo命令获取root权限。

使用SSH密钥登录增强安全性

为进一步提升安全性,建议禁用密码登录,改用SSH密钥对认证,在/etc/ssh/sshd_config中设置:

  • PasswordAuthentication no
  • PubkeyAuthentication yes

确保将公钥(通常为~/.ssh/authorized_keys)上传到服务器的用户主目录中,并设置正确的权限:

centos禁止root登录后如何远程管理服务器?

chmod 700 ~/.ssh  
chmod 600 ~/.ssh/authorized_keys  

常见问题排查

如果禁止root登录后无法连接服务器,可能的原因包括:

  1. 配置文件语法错误:使用sshd -t检查配置是否正确。
  2. 防火墙或SELinux拦截:临时关闭防火墙(sudo systemctl stop firewalld)或调整SELinux策略测试。

相关问答FAQs

Q1:禁止root登录后,如何紧急恢复root登录权限?
A:可以通过控制台或VNC直接登录服务器,编辑/etc/ssh/sshd_config文件,将PermitRootLogin改回yes,然后重启SSH服务。

Q2:是否可以仅禁止root的SSH登录,而保留控制台登录?
A:可以,在/etc/ssh/sshd_config中仅修改PermitRootLoginno,root用户仍可通过物理控制台或su命令切换到root账户。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-11-16 23:11
下一篇 2025-11-16 23:12

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信