SSH加固故障排查手册:常见报错一站式解决
SSH加固是保障Linux服务器安全的核心环节。结合当前最佳实践,为您梳理了一套从基础到高级的系统化加固方案:
一、 认证与权限控制(核心防线)
禁用密码登录,仅允许密钥认证:彻底消除密码暴力破解的风险。在 /etc/ssh/sshd_config 中配置 PubkeyAuthentication yes 和 PasswordAuthentication no。
使用高强度密钥算法:推荐使用更安全的 Ed25519 算法生成密钥(ssh-keygen -t ed25519),替代传统的 RSA 算法。
禁止 Root 用户直接登录:配置 PermitRootLogin no,强制管理员使用普通用户登录后再通过 sudo 提权,便于审计追踪。
限制可登录用户:通过 AllowUsers 或 AllowGroups 白名单机制,仅允许指定的运维账号进行 SSH 连接。
二、 网络与端口防护
修改默认端口:将默认的 22 端口更改为非常规端口(如 Port 22222),可有效过滤大量针对默认端口的自动化扫描器。
防火墙与IP白名单:结合 firewalld 或云服务器的安全组,限制仅允许公司办公网等特定 IP 访问 SSH 端口。
限制登录尝试次数:配置 MaxAuthTries 3,限制单次连接的最大认证失败次数,防止恶意试探。
三、 自动化防御与监控
部署 Fail2ban:安装并配置 fail2ban,实时监控 SSH 登录日志(如 /var/log/secure),对连续多次登录失败的 IP 自动进行防火墙封禁。
设置会话超时:配置 ClientAliveInterval 300 和 ClientAliveCountMax 2,自动断开长时间无操作的僵尸连接,释放资源。
四、 协议与加密算法优化
禁用弱加密算法:明确指定安全的加密算法、MAC 算法和密钥交换算法,禁用过时的 SSHv1 协议及不安全的加密套件。
禁用空密码与 Rhosts:确保 PermitEmptyPasswords no 和 IgnoreRhosts yes,杜绝不安全的认证方式。
五、 安全自查与审计
检查授权密钥:定期审查高权限用户的 ~/.ssh/authorized_keys 文件,确认没有被攻击者恶意写入未知的公钥。
审查登录日志:定期通过 journalctl -u sshd 或 /var/log/secure 排查是否存在异常的登录成功记录或高频的失败记录。
-
SSH加固故障排查手册:常见报错一站式解决SSH加固是保障Linux服务器安全的核心环节。结合当前最佳实践,为您梳理了一套从基础到高级的系统化加固方案:一、 认证与权限控制(核心防线)禁用密码登录,仅允许密钥认证:彻底消除密码暴力破解的风险。在 /etc/ssh/sshd_config 中配置 PubkeyAuthentication yes 和 Password...