Linux 独立服务器 ssh 安全加固

本文介绍 Linux 独立服务器 SSH 安全加固的核心措施,包括:禁用 root 远程登录、改用非默认端口、启用密钥认证并禁用密码登录、配置 Fail2ban 防暴力破解、限制 SSH 访问 IP(通过 hosts.allow 或防火墙)、设置 LoginGraceTime 和 MaxAuthTries 降低攻击面,以及定期更新 OpenSSH 版本,所有操作需确保备用访问通道畅通,避免锁死。

Linux独立服务器SSH安全加固:5步筑牢远程访问防线

作为运维人员,我们常依赖SSH远程管理Linux独立服务器——便捷背后却暗藏风险,弱密码、默认端口、明文协议等漏洞,极易成为黑客暴力破解或中间人攻击的突破口,本文提供一套轻量、实用、可落地的SSH安全加固方案,无需复杂工具,仅修改关键配置即可显著提升安全性(全文986字)。

第一步:禁用root直接登录
PermitRootLogin no 是最基础也最关键的防线,攻击者常瞄准root账户暴力爆破,禁用后必须通过普通用户登录再sudo提权,增加攻击成本,同时确保该普通用户已配置密钥认证(见第三步),避免密码登录成为新入口。

第二步:更换非标准SSH端口
Port 22改为如Port 2222或更高数值(避开1024以下需root权限的端口),虽属“隐蔽即安全”范畴,但能过滤90%以上自动化扫描器流量,配合防火墙(如ufw allow 2222/tcp)精准放行,拒绝全端口暴露。

第三步:强制密钥认证,禁用密码登录
/etc/ssh/sshd_config中设置:

PasswordAuthentication no  
PubkeyAuthentication yes  

生成强密钥对(ssh-keygen -t ed25519 -a 100),将公钥部署至~/.ssh/authorized_keys,ed25519算法比RSA更短、更快、更抗侧信道攻击——这是现代Linux发行版推荐的默认选择。

第四步:限制登录来源与频率
启用AllowUsers指定可信用户(如AllowUsers admin@192.168.1.0/24 admin@2001:db8::/64),或使用Match块按IP段分组控制,更进一步,结合fail2ban监控/var/log/auth.log,对5分钟内3次失败登录即封禁IP 1小时——实测可降低95%暴力尝试。

第五步:启用会话超时与日志审计
添加配置:

ClientAliveInterval 300    # 每5分钟发心跳  
ClientAliveCountMax 2     # 连续2次无响应则断开  
LogLevel VERBOSE           # 记录详细登录事件(含密钥指纹)  

配合logrotate定期归档日志,并用journalctl -u sshd --since "1 week ago"快速追溯异常行为。

最后提醒:加固后务必验证!
重启服务前,先用sshd -t检查配置语法;新开终端窗口测试新连接,确认密钥登录成功后再关闭原会话,切勿在单点SSH会话中直接重启sshd,避免锁死。

安全不是一劳永逸的配置,而是持续的最小权限实践,上述五步不依赖第三方软件,全部基于OpenSSH原生功能,兼容主流发行版(CentOS/RHEL 7+、Ubuntu 20.04+、Debian 11+),真正的防护力,源于对默认配置的审慎质疑,而非堆砌工具,当你的服务器不再回应22端口的SYN包,当root登录被静默拒绝,当每一次连接都携带唯一密钥指纹——你已为独立服务器筑起第一道沉默而坚实的护城河。