
SSH安全核心是减少攻击面、增加验证门槛、及时发现异常;需限制IP、用fail2ban封禁、强密码或加密密钥管理,并加强日志监控与告警。
Linux SSH 安全不是“开个密码就完事”,核心是减少攻击面 + 增加验证门槛 + 及时发现异常。很多新手一上来就改端口、关密码登录,结果自己连不上,反而误以为“更安全”了——其实只是把门锁死了,钥匙却扔在门口。
把 SSH 默认端口 22 改成 2222 或 3389,确实能过滤掉大量自动化扫描,但它不防针对性攻击,也不防暴力破解。只要端口开放且可访问,nmap 一下就能扫出来。更关键的是:改端口后若没同步更新防火墙规则、跳板机配置或运维文档,容易导致自己失联。
很多人一听“SSH 密码不安全”就立刻禁用 PasswordAuthentication,结果密钥配错、备份密钥丢失,服务器直接变砖。其实只要做到三点,密码登录一样可靠:
openssl rand -base64 12 生成)MaxAuthTri
es 3 和 LoginGraceTime 60,缩短爆破窗口pam_pwquality)强制密码复杂度,拒绝弱口令登录生成一个 id_rsa 并放到 ~/.ssh/authorized_keys 里,只是第一步。真正风险藏在后续管理中:
chmod 600 ~/.ssh/id_rsa 严格权限PubkeyAuthentication yes + PermitEmptyPasswords no
AuthorizedKeysCommand 统一纳管再强的配置,也挡不住 0day 或内部误操作。能快速发现异常,比“绝对防住”更现实:
LogLevel VERBOSE(非 DEBUG,避免日志爆炸)lastb 查看爆破记录,who -a 和 ss -tunap | grep :22 实时看连接基本上就这些。安全不是一步到位的开关,而是持续校准的习惯——每次改配置前问一句:我是不是同时加固了“进得来”和“出不去”的环节?