SSH 安全
SSH 是服务器的正门,绝大多数入侵都从这里开始。宝塔把 SSH 相关的设置做成了可视化页面,不用再去手敲 sshd_config。这一篇按"先看现状、再改配置、最后加防护"的顺序说。
先看现状:SSH 登录详情
进入「安全 → SSH 管理」,第一眼先看 SSH 开关和登录统计。

页面会展示登录的成功和失败次数,格式类似"成功:114514 / 失败:1919810"。这两个数字本身就是一台"攻击晴雨表":
- 失败次数远大于成功次数:很正常,公网上的扫描器日夜都在试密码。
- 失败次数突然暴涨:说明你正在被针对性暴力破解,赶紧开防爆破。
- 出现不熟悉的成功登录:危险信号,立刻改密码、改端口、查日志。
点击"成功"或"失败"按钮,可以直接查看对应的登录日志。

基础设置:改端口、限制 root

SSH 端口:默认是 22,建议改成 10000-65535 的高位端口(比如 21111)。修改前必须确认两件事:新端口没被别的服务占用,以及防火墙和云安全组都已经放行新端口。确认端口占用可以用这条命令:
netstat -tunlp | grep 21111
没输出说明端口空闲,可以放心改。
root 登录设置:默认是"yes - 可密码和密钥登录",一共四个选项:
| 选项 | 含义 | 适用场景 |
|---|---|---|
| yes - 可密码和密钥登录 | 两种方式都行(默认) | 图省事,但安全性最低 |
| without-password - 只能密钥登录 | 只认密钥,密码无效 | 推荐,彻底杜绝暴力破解 |
| no - 禁止登录 | root 谁也不让登 | 最安全,但需要先用普通用户登录再 su |
| forced-commands-only - 只能执行命令 | 只能跑指定命令,拿不到交互式 shell | 只给特定脚本用 |
SSH 密码登录 / SSH 密钥登录:密码登录默认开启,密钥登录默认关闭。推荐的做法是开启密钥登录,然后关掉密码登录。开启密钥登录后点击"下载"把密钥保存到本地,这串文件相当于你家大门钥匙,丢了等于密码泄露。
密码策略:让密码难以被猜
在「安全 → 服务器安全配置」里有两项关于密码本身的设置:

- 密码复杂度:用分数表示,1/4 到 4/4。4/4 表示必须同时包含数字、大写字母、小写字母、特殊字符。建议至少 3/4。
- 密码长度限制:设置最小位数,默认推荐 8 位起步,重要服务器建议 16 位以上。
设置方法:切换到对应开关,输入要求后点击【设置】。这两项是"防君子也防小人"——既防止用户图省事设 123456,也直接抬高暴力破解的成本。
防护:防爆破与登录告警
SSH 防爆破:开启后自动监控并拦截异常登录尝试。原理是限制失败次数,超过阈值就封禁来源 IP。这是公网服务器的标配,没什么理由不开。
SSH 登录告警:开启后,一旦有 SSH 登录行为就推送告警通知。配置时切换到"配置告警",设置告警方式(邮件、微信等)、发送间隔和发送上限。
注意:告警功能依赖消息通道。如果没提前配好通道,告警消息是发不出去的,等于白开。通道配置方法见 服务器监控与告警通知。
密码登录 vs 密钥登录
| 对比项 | 密码登录 | 密钥登录 |
|---|---|---|
| 认证依据 | 记住一串复杂密码 | 一个本地密钥文件 |
| 暴力破解 | 有被穷举的风险 | 不存在,密钥长度远超密码 |
| 多机管理 | 每台都要记一套密码 | 一把钥匙开一批机器,适合批量运维 |
| 丢失风险 | 忘了可以重置 | 密钥文件丢了要重新生成并分发 |
结论很明确:机器一多,密钥登录既是安全选择,也是省心选择。个人服务器至少做到"仅允许 root 密钥登录",把密码这条路堵死。
企业版扩展:账号管理与登录日志
SSH 管理里还有两个标签页:
- SSH 系统账号管理:企业版专享。可以创建/删除系统用户、重置密码、开启防入侵和日志记录,还能查看每个账号的详细命令日志。适合需要给多人分配服务器账号、并且要留痕审计的团队。点击"创建系统用户",输入用户名和密码即可添加。

- SSH 登录日志:企业版专享。记录所有 SSH 登录的来源 IP、时间、端口、状态和用户,是事后溯源的主力工具。

操作注意事项
- 修改 SSH 端口前,务必先检查端口占用情况并在防火墙放行,避免改完连不上。
- 调整 root 登录方式和密码/密钥登录状态时要谨慎,确认手头有其他可用的登录方式(如面板的 Web 终端),避免把自己锁在外面。
- 服务器时间要和网络时间一致,否则动态口令类的验证会失败。
- 修改前先备份现有配置,改完立即测试,别等出问题才发现改错了。
