新闻资讯

掌握最新资讯,了解关于我们的最新动态!
您当前位置首页 > 新闻资讯 > 系统安全相关

CentOS 8.5系统SSH安全加固配置指南

更新时间:2026-06-11 12:40

SSH是Linux/Unix服务器最重要的远程管理通道,也是黑客暴力破解的首要目标。本文将详细介绍在CentOS 8.5系统上对SSH进行安全加固的完整步骤。

一、安装与基本配置

首先确保OpenSSH服务已安装并运行:

code
yum install -y openssh-server

# 确认服务状态
systemctl status sshd 或 service sshd status

二、修改默认端口

将SSH默认端口22改为高位端口(建议1024-65535),规避自动化扫描攻击:

code
vim /etc/ssh/sshd_config

# 修改以下行
Port 2222
# 注释掉原来的 #Port 22

修改后重启服务并配置防火墙:

code
systemctl restart sshd
firewall-cmd --add-port=2222/tcp --permanent && firewall-cmd --reload

特别注意:在退出当前SSH会话前,务必另开一个终端测试新端口是否能连接,避免把自己锁在服务器外!

三、禁用root直接登录

code
# 创建普通管理用户
useradd admin
passwd admin
usermod -aG wheel admin    # CentOS/RHEL
# 或 usermod -aG sudo admin  # Ubuntu/Debian

# SSH配置中设置
PermitRootLogin no

四、配置密钥登录

密钥登录比密码登录安全得多,推荐使用ed25519算法:

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

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

# 确认密钥登录正常后,再禁用密码登录
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

五、安装Fail2ban防暴力破解

code
# CentOS/RHEL
yum install -y epel-release && yum install -y fail2ban

# Ubuntu/Debian
apt install -y fail2ban

# 配置规则
cat > /etc/fail2ban/jail.local << 'EOF'
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 3600
EOF

systemctl restart fail2ban

六、其他安全建议

  • 设置空闲超时:ClientAliveInterval 300、ClientAliveCountMax 0
  • 限制可登录用户:AllowUsers admin user1
  • 仅使用SSH协议版本2:Protocol 2
  • 定期审计:lastb 查看失败登录记录
  • 配置防火墙白名单,仅允许特定IP访问SSH端口

七、SSH日志审计配置

code
# 开启SSH详细日志
# /etc/ssh/sshd_config 添加
LogLevel VERBOSE

# 查看SSH登录记录
journalctl -u sshd | grep "Failed password"
journalctl -u sshd | grep "Accepted"

# 实时监控SSH登录
tail -f /var/log/auth.log | grep sshd
# 或
tail -f /var/log/secure | grep sshd

八、客户端配置优化

服务端加固后,客户端配置也同样重要:

code
# ~/.ssh/config 配置文件
Host myserver
    HostName 服务器IP
    Port 2222
    User admin
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 60
    ServerAliveCountMax 3
    
# 使用SSH隧道安全访问内网服务
ssh -L 8080:localhost:80 admin@跳板机IP -p 2222

九、多因素认证(MFA)

对于高安全环境,可进一步叠加MFA:

code
# 安装Google Authenticator
# Ubuntu/Debian
apt install -y libpam-google-authenticator

# CentOS/RHEL
yum install -y google-authenticator

# 为用户配置
google-authenticator

# 修改PAM配置
echo "auth required pam_google_authenticator.so" >> /etc/pam.d/sshd

# SSH配置开启Challenge-Response
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive

十、日常安全检查清单

  • 每日检查 /var/log/auth.log 或 /var/log/secure 中的异常登录
  • 每周检查fail2ban状态:fail2ban-client status sshd
  • 每月审计SSH用户列表:cat /etc/ssh/sshd_config | grep AllowUsers
  • 定期更新系统和openssh软件包
  • 检查SSH密钥有效期,及时轮换

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

立即选购