文档首页> 常见问题> Linux云服务器如何禁用root远程登录?

Linux云服务器如何禁用root远程登录?

发布时间:2025-04-24 09:55       

Linux云服务器安全加固:禁用root远程登录的完整指南

在Linux服务器安全管理中,禁用root账户远程登录是最基础也最重要的安全措施之一。本文将详细介绍5种禁用root远程登录的方法,并分析每种方案的优势与适用场景。

为什么要禁用root远程登录?

root账户作为Linux系统的超级用户,一旦被破解将导致整个系统沦陷。据统计,90%的服务器入侵事件都是从root账户暴力破解开始的。禁用root远程登录可以:

  • 减少服务器被暴力破解的风险
  • 强制使用sudo权限管理,留下操作日志
  • 符合大多数云服务商的安全合规要求

方法一:通过SSH配置文件修改(推荐)

# 编辑SSH配置文件
sudo vim /etc/ssh/sshd_config

# 找到并修改以下参数
PermitRootLogin no

# 重启SSH服务
sudo systemctl restart sshd

这是最标准的方法,修改后所有SSH客户端都无法直接以root身份登录。

方法二:使用PAM模块限制

# 编辑PAM配置文件
sudo vim /etc/pam.d/sshd

# 添加以下内容
auth required pam_listfile.so \
    item=user sense=deny file=/etc/ssh/deniedusers onerr=succeed

这种方法可以灵活控制多个禁止登录的用户。

方法三:通过防火墙规则限制

# 使用iptables添加规则
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name root --update --seconds 60 --hitcount 3 -j DROP
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name root --set

适合需要临时限制root登录的场景。

操作后的验证方法

  1. 新建终端窗口尝试SSH root登录
  2. 检查/var/log/auth.log日志
  3. 使用命令:ssh -o PreferredAuthentications=password root@服务器IP

注意事项

  • 操作前确保已创建替代的管理员账户
  • 建议先在其他端口测试配置
  • 阿里云等平台可能需要额外控制台设置

禁用root远程登录后,建议配合启用SSH密钥登录、配置fail2ban等工具,构建完整的服务器安全防护体系。