Linux SSH安全提升需系统性落实身份验证、通信加密、访问控制和日志审计四环节:禁用密码登录启用密钥认证,限制用户与IP,调整端口及超时参数,开启PAM失败锁定,并配置详细日志与告警。

Linux SSH 安全提升不是靠一两个技巧堆砌,而是建立在身份验证、通信加密、访问控制和日志审计四个核心环节上的系统性实践。标准流程不追求“最严”,而强调“可落地、可维护、可追溯”——适用于从单台VPS到百台集群的全部场景。
禁用密码登录,强制密钥认证
密码登录是暴力破解的主入口,90%以上的 SSH 入侵始于弱口令或撞库。必须关闭它,只保留公钥认证。
- 编辑 /etc/ssh/sshd_config,确认以下三项已设置:
- PubkeyAuthentication yes
- PasswordAuthentication no
- PermitEmptyPasswords no
- 重启服务:sudo systemctl restart sshd(或 sshd,取决于发行版)
- 操作前务必确保本地已有可用密钥对,且公钥已写入目标机 ~/.ssh/authorized_keys;建议先开一个备用会话验证连通性再重启
限制登录用户与来源IP
最小权限原则在 SSH 层最直接的体现就是:谁可以登、从哪登、登到哪。
- 用 AllowUsers 或 AllowGroups 明确放行账户(如 AllowUsers deploy admin),拒绝未列明用户
- 配合防火墙(如 ufw 或 iptables)限制 SSH 端口(默认22)仅对可信 IP 段开放,例如:
ufw allow from 192.168.10.0/24 to any port 22 - 如需远程办公,避免直接暴露 22 端口,可改用非标端口(如 2222),但注意:端口混淆 ≠ 安全,仅作基础过滤,仍需配合密钥+IP白名单
加固SSH服务配置本身
OpenSSH 默认配置偏宽松,几项关键调整能大幅降低攻击面。
标签: linux word centos 防火墙 端口 ubuntu ai
还木有评论哦,快来抢沙发吧~