Linux SSH 安全需分层加固:禁用 root 密码登录、强制密钥认证并限制密钥权限;改非标端口配合防火墙限流;启用详细日志与 fail2ban 自动封禁失败登录,实现可追溯、快响应、密钥生命周期管理。

Linux SSH 安全不是“开个防火墙+改端口”就完事,而是要分层加固:从连接入口、身份认证、会话控制,到日志审计和持续防护。关键在切断攻击链路,而非只堵一个漏洞。
关掉默认登录,禁用 root 远程直连
root 直连是攻击者首选目标,一旦密码弱或被爆破,系统即失守。必须禁止 root 通过 SSH 密码登录,仅保留密钥方式(且需单独授权)。
- 编辑 /etc/ssh/sshd_config,设 PermitRootLogin no
- 确保 PasswordAuthentication no(关闭所有密码登录,强制密钥)
- 新增普通用户(如 admin),用 usermod -aG sudo admin 赋权
- 用 ssh-copy-id admin@server 部署密钥后,再重启 sshd:sudo systemctl restart sshd
用非标端口 + 主机级防火墙双过滤
改端口不能防扫描,但能过滤掉 90% 的自动化脚本攻击;配合防火墙可精准控流,避免误伤合法连接。
- 在 sshd_config 中改 Port 2222(避开 22,别用太冷门如 65535,易被策略拦截)
- 用 ufw 限制来源 IP:sudo ufw allow from 192.168.1.100 to any port 2222
- 启用连接速率限制(防暴力尝试):sudo ufw limit 2222/tcp
- 确认规则生效:sudo ufw status verbose
密钥必须强管控:禁用空密码、限制用途、定期轮换
私钥丢了=服务器裸奔。生成时就要设密码,部署后还要限制可登录的命令和路径。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~