Linux 独立服务器 ssh 安全加固

本文介绍 Linux 独立服务器 SSH安全加固措施,包括:禁用 root 远程登录、改用非默认端口、启用密钥认证并禁用密码登录、配置 Fail2ban 防暴力破解、限制用户/IP 访问(通过 AllowUsers 防火墙)、禁用空密码和过期协议(如 SSHv1),以及定期更新 OpenSSH,这些措施可显著降低未授权访问与攻击风险,提升系统整体安全性。

Linux独立服务器SSH安全加固五步实战指南

在公网上裸奔的SSH服务,如同敞开大门的保险柜,作为远程管理Linux独立服务器心通道,SSH若配置不当,极易成为攻击者入侵的第一跳板,本文提供简洁、可落地的五步加固方案,无需复杂工具,兼顾安全性与可用性

禁用root直接登录
编辑/etc/ssh/sshd_config,将PermitRootLogin设为no创建普通用户(如admin),赋予sudo权限,并确保其已配置密钥登录,此举切断暴力破解最高权限账户的最短路径。

强制密钥认证,禁用密码登录
设置PasswordAuthentication noPubkeyAuthentication yes,生成强RSA(4096位)或Ed25519密钥对,将公钥写入用户~/.ssh/authorized_keys,并执行chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys,密码登录一旦关闭,暴力破解即失效。

修改默认端口与限制访问源
Port 22改为非标准端口(如Port 2222),降低自动化扫描命中率,若管理IP固定,添加AllowUsers admin@192.168.1.100或配合防火墙(如ufw allow from 203.12.45.88 to any port 2222)实现白名单控制。

启用Fail2ban自动封禁
安装Fail2ban后,启用sshd jail:systemctl enable --now fail2ban,默认配置即可在5分钟内检测到3次失败登录即封禁IP 10分钟,它不替代基础配置,而是为误配或临时疏漏加一道动态防线

精简SSH协议与加密套件
禁用过时协议:Protocol 2;禁用弱算法,在配置中添加:

Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com  
KexAlgorithms curve25519-sha256,ecdh-sha2-nistp256  

避免使用diffie-hellman-group1-sha1等已被弃用的算法,提升前向安全性。

完成配置后,务必先开一个备用会话测试新连接,再sudo systemctl restart sshd,切忌直接退出当前SSH会话!

安全不是一劳永逸的配置,而是持续的习惯:定期轮换密钥、审计/var/log/auth.log、保持系统更新,加固后的SSH,不再是漏洞入口,而成为可信运维的坚实支点。

(全文共698字)