Linux SSH安全加固需系统性实施:禁用密码登录并启用ed25519密钥认证;禁止root直连,限制AllowUsers/AllowGroups;修改SSH端口并部署fail2ban;调高LogLevel、设置ClientAlive超时;每步须测试验证。

Linux SSH 安全提升不是靠一两个命令就能搞定的,关键在于系统性加固:从基础配置收紧、身份认证升级,到访问控制细化和日志审计闭环。下面按实际操作顺序拆解,每一步都直击常见风险点。
禁用密码登录,强制使用密钥认证
密码登录是暴力破解的首要入口。启用密钥认证后,攻击者即使猜中用户名也难突破。
- 在客户端生成密钥对:ssh-keygen -t ed25519 -C "your_email@example.com"(推荐 ed25519,更安全高效)
- 将公钥复制到服务器:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
- 编辑 /etc/ssh/sshd_config,确认以下两项已设置:
PubkeyAuthentication yes
PasswordAuthentication no - 重启服务前务必测试新密钥能否正常登录,再 reload:sudo systemctl reload sshd
限制用户与登录方式,缩小攻击面
默认允许 root 登录、开放所有用户访问,等于给攻击者递钥匙。
- 禁止 root 直接 SSH 登录:PermitRootLogin no
- 只允许特定用户或用户组登录:
AllowUsers alice bob 或
AllowGroups ssh-users(记得先将用户加入该组) - 如需临时提权,统一走 sudo,而非开放 root 密码或密钥
- 非必要不开启 X11Forwarding 和 AllowTcpForwarding
改端口 + fail2ban 实时封禁暴力尝试
虽然“隐蔽端口”不是银弹,但配合 fail2ban 能显著降低自动化扫描干扰和有效攻击成功率。
标签: linux word centos 防火墙 端口 ubuntu ai
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~