Linux SSH安全需系统性加固:禁用密码登录、强制密钥认证(ed25519),白名单限制用户与IP,修改默认端口,关闭非必要子系统,设置连接限制,并启用日志审计与自动封禁。

Linux SSH 安全提升不是靠一两个配置开关,而是系统性加固:从访问控制、认证机制、服务暴露面到日志审计,每个环节都可能成为突破口。核心原则是“最小权限 + 明确拒绝 + 可追溯”。以下为经生产环境验证的标准流程,适用于云服务器、内网跳板机、容器宿主机等全部常见场景。
禁用密码登录,强制使用密钥认证
密码暴力破解仍是 SSH 入侵最常见入口。即使密码复杂,也无法抵御离线字典攻击或凭证复用风险。
- 生成强密钥对(ed25519 优先):ssh-keygen -t ed25519 -C "admin@company.com"
- 将公钥安全部署到目标服务器的 ~/.ssh/authorized_keys,并确保权限为 600
- 修改 /etc/ssh/sshd_config:
PasswordAuthentication no
PubkeyAuthentication yes
PermitEmptyPasswords no - 重启前务必用新密钥另开一个会话测试连接,避免锁死
限制可登录用户与来源IP范围
不给非必要账户登录权限,不开放非必要网络访问,是成本最低、效果最直接的防线。
- 用 AllowUsers 或 AllowGroups 明确放行(例如:AllowUsers deploy admin),禁止 root 直接登录(PermitRootLogin no)
- 结合防火墙限制源 IP:
若仅允许办公网访问,用 ufw allow from 203.0.113.0/24 to any port 22;
若为跳板机,建议配合 iptables 或云平台安全组做二层过滤 - 避免使用 DenyUsers,黑名单模式易遗漏,优先用白名单思维
降低服务暴露风险与攻击面
SSH 本身不是 Web 服务,不应长期暴露在公网高危端口上。减少被扫描、被探测、被利用的机会,就是提升安全性。
标签: linux word centos go 防火墙 云服务 access 端口 ubuntu 后端 ai 云服务器 黑名单
还木有评论哦,快来抢沙发吧~