Linux云服务器如何禁用root远程登录?
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登录的场景。
操作后的验证方法
- 新建终端窗口尝试SSH root登录
- 检查/var/log/auth.log日志
- 使用命令:
ssh -o PreferredAuthentications=password root@服务器IP
注意事项
- 操作前确保已创建替代的管理员账户
- 建议先在其他端口测试配置
- 阿里云等平台可能需要额外控制台设置
禁用root远程登录后,建议配合启用SSH密钥登录、配置fail2ban等工具,构建完整的服务器安全防护体系。