云服务器 SSH 安全加固实战:从默认配置到密钥登录

举报
yd_61455462 发表于 2026/11/06 22:04:49 2026/11/06
【摘要】 新买的云服务器第一件事不是装应用,而是把 SSH 加固好。本文按改端口、禁密码、配密钥、开防火墙的顺序,给出一套可直接落地的加固流程。

新买一台云服务器,很多人第一件事是装 Nginx、装数据库,却把 SSH 就这么晾在默认配置上。默认 22 端口加密码登录,等于把大门钥匙挂在门把手上:全网的扫描器每天都在批量爆破,auth.log 里几千条失败记录就是证据。本文按真实操作顺序,把一台新机器的 SSH 加固到可上线的状态。

第一步:先建密钥,再动配置

加固最忌讳先禁密码、后配密钥,结果把自己锁在门外。顺序一定是:本地先生成密钥对,把公钥传上服务器、确认能免密登录之后,再去改服务端配置。本地执行 ssh-keygen 生成 ed25519 密钥,然后用 ssh-copy-id 把公钥写入服务器的 authorized_keys。随后新开一个终端窗口,用密钥登录一次,确认不用输密码能进,再继续往下走。旧窗口保持登录状态不动,这是你的逃生通道。

第二步:改 sshd 配置,禁密码、禁 root

编辑 /etc/ssh/sshd_config,改四个地方:把 Port 改成 1024 以上的高位端口,例如 22222;PasswordAuthentication 改成 no;PermitRootLogin 改成 no;PubkeyAuthentication 保持 yes。改完先 sshd -t 检查语法,再 systemctl reload sshd,不要 restart——reload 不会断掉当前连接,万一配错了还有旧窗口可以补救。随后在新窗口用新端口加密钥登录验证:ssh -p 22222 user@host,能进才算这一步完成。

第三步:防火墙只放行新端口

改端口只是换了门牌号,不关门等于没用。用 ufw allow 22222/tcp 放行新端口,再用 ufw delete allow OpenSSH 或 ufw delete allow 22/tcp 关掉旧端口,最后 ufw enable 生效。云厂商的安全组也要同步改:入方向只放行新端口,出方向保持默认。改完从外网扫一次端口确认 22 已关闭,这是很多人漏掉的一步——服务器本机防火墙关了,安全组还开着等于白改。

第四步:装 fail2ban 兜底

禁密码之后爆破已无从下手,但扫描流量仍会写满日志。装 fail2ban,默认的 sshd 规则就能在多次失败后封 IP 一段时间。配置很简单:装好后确认 jail 里 sshd 已启用,fail2ban-client status sshd 能看到封禁记录即可。它不是主防线,而是帮你把日志噪音降下来,顺带挡住针对密钥认证的骚扰连接。

第五步:日常习惯比配置更重要

密钥文件只放本地且设 600 权限,不要传到代码仓库、不要发到群里;一台机器一个密钥对,换电脑就轮换;定期看一次 auth.log 和 fail2ban 状态,确认没有异常登录。很多人加固完就再也不看日志,等发现异常时早已过了最佳处置时间。每月花五分钟看一眼,比任何工具都管用。

总结一下顺序:密钥先行、配置跟上、防火墙收口、fail2ban 兜底、日志定期看。这套流程在一台新机器上二十分钟就能做完,之后不管装什么应用,入口都是干净的。安全加固没有一劳永逸,但把默认配置改掉这一步,就已经挡住了九成以上的自动化攻击。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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