技术支持

为您提供7*24小时在线技术支持、安全技术专家、行业资深安全顾问服务。400-888-1688

服务器问题

您当前位置首页 > 技术支持 > 服务器问题

CentOS服务器SSH安全加固配置指南

CentOS服务器SSH安全加固配置指南

常见问题 · 服务器问题

SSH是管理Linux服务器最重要的通道,但也是最容易被攻击的目标。据统计,一台暴露在公网上的服务器每天可能遭受数百次暴力破解尝试。本文介绍CentOS系统下SSH安全加固的最佳实践。

1. 修改默认端口

将SSH默认的22端口修改为其他端口,可以规避绝大多数自动化扫描攻击:

vim /etc/ssh/sshd_config

# 找到 #Port 22 一行,修改为:
Port 2222  # 建议使用1024以上的端口

修改后重启SSH服务:systemctl restart sshd

注意:务必先在防火墙放行新端口后再退出当前SSH会话,否则会把自己锁在门外!

2. 禁用root直接登录

root用户拥有最高权限,禁用其直接登录可以减少攻击面:

# 先创建一个普通用户
useradd admin && passwd admin
usermod -aG wheel admin  # CentOS
usermod -aG sudo admin   # Ubuntu

# 编辑SSH配置
vim /etc/ssh/sshd_config
PermitRootLogin no  # 禁止root直接登录

3. 配置密钥登录并禁用密码登录

# 在本地生成密钥对
ssh-keygen -t ed25519 -C "your_email@example.com"

# 将公钥复制到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@服务器IP -p 端口

确认密钥登录成功后,修改SSH配置禁用密码登录:PasswordAuthentication no

4. 配置Fail2ban防暴力破解

# 安装Fail2ban
yum install -y epel-release && yum install -y fail2ban  # CentOS
apt install -y fail2ban  # Ubuntu

# 创建配置文件
cat > /etc/fail2ban/jail.local << 'EOF'
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 3600
findtime = 600
EOF

systemctl start fail2ban && systemctl enable fail2ban

5. 其他安全建议

  • 设置登录超时:ClientAliveInterval 300 和 ClientAliveCountMax 0
  • 限制登录用户:AllowUsers admin user1 user2
  • 使用ed25519算法替代RSA,安全性更高
  • 定期审计登录日志:lastb 查看失败登录记录

关键词:SSH、安全加固、Fail2ban、密钥登录 | 八彩云技术分享 · 仅供学习参考

这条帮助是否解决了您的问题? 已解决 未解决

安全合格的云服务,让您的业务轻松上云!

立即选购
https://affim.baidu.com/unique_50626027/chat?siteId=21806899&userId=50626027&siteToken=f4b13c0dda3b403b51fd8811d5a360c7