SSH 安全加固:从默认配置到可落地的五步检查清单

举报
yd_299495290 发表于 2026/11/05 06:14:42 2026/11/05
【摘要】 SSH 默认配置是服务器最常见的入口风险。本文给出可落地的五步清单:留好退路、用密钥登录、禁止 root 登录、正确看待改端口、限制来源并定期看日志,每改一项验证一次。

很多服务器被扫爆,并不是因为系统本身脆弱,而是 SSH 还停留在刚装机时的默认状态:允许密码登录、root 可以直接登录、22 端口敞开迎客。攻击者不需要多高明的手段,只要不停地试弱口令,就可能在某天撞开一扇门。下面这份清单不需要你一次全改完,按顺序做,每一步都能立刻降低风险。

第一步:先留好退路,再改配置

改 SSH 配置最怕把自己锁在门外。动手之前,先确认当前会话可用,再另外开一个新终端保持登录,不要把所有窗口都关掉。改完配置后,用新窗口先试一次登录,确认能进,再关闭旧会话。这个习惯比任何参数都重要,因为一次误操作带来的恢复成本,往往远高于加固本身。

第二步:用密钥登录,逐步关掉密码登录

密钥登录的核心是:私钥只存在你自己的机器上,服务器上只放公钥。生成密钥时建议给私钥设一个口令,即使笔记本丢失,别人拿到私钥文件也不能直接使用。把公钥追加到服务器的 authorized_keys 后,先验证密钥可以登录,再把 PasswordAuthentication 改为 no。同时把 PubkeyAuthentication 保持为 yes,确认无误后重启 sshd 服务。

PasswordAuthentication no
PubkeyAuthentication yes

第三步:禁止 root 直接登录

root 是攻击者最先尝试的用户名,禁止它直接登录,等于先去掉最显眼的靶子。日常运维用普通用户登录,需要提权时再用 sudo,这样每一次高权限操作都有迹可循。把 PermitRootLogin 改为 no,配合密钥登录,暴力破解的难度会明显上升。

PermitRootLogin no

第四步:改端口只是减噪,不是加固

把 22 改成一个不常用的高位端口,能让日志里的扫描记录立刻变少,但这只是减少了噪音,并不是真正的安全措施。真正起作用的仍然是密钥、禁 root 和失败锁定。改端口时要同步调整安全组或防火墙放行规则,否则会出现服务本身正常、外部却连不上的情况。先放行新端口、验证能登录,再收紧旧端口。

第五步:限制登录来源,并看一眼日志

如果服务器只给固定几个人用,就不要让全网都能尝试登录。可以在防火墙或安全组里只放行可信的出口地址,条件不允许时,也可以用 Fail2ban 这类工具对短时间内多次失败的地址做临时封禁。加固不是做完就结束,每周花几分钟看一次登录日志,重点看失败次数异常的地址和非常用时间的成功登录,多数问题在日志里早有征兆。

journalctl -u sshd --since "1 day ago" | grep Failed

一个可直接照做的检查顺序

先备份 sshd_config,再确认密钥登录可用,接着关闭密码登录和 root 登录,然后调整端口与防火墙,最后加上失败锁定并定期看日志。顺序不能乱:先保证能进门,再逐步收紧;每改一项就验证一次,不要把五项改完才第一次测试。把这份清单保存下来,下次新开一台服务器,照着走一遍,十分钟就能把最常见的 SSH 风险挡在门外。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。