批量部署或监控同时建立大量SSH连接时,一部分连接可能在认证前被服务器断开,另一些却能成功。此时应检查未认证连接的并发限制。
MaxStartups限制的是尚未完成认证的连接,不是已经登录的会话总数。不要一见到连接重置就直接放宽配置。

先排除网络与认证问题
在客户端用ssh -vvv 用户@主机观察断开发生在密钥交换、认证还是登录之后;在服务器查看journalctl -u ssh -b或发行版使用的sshd单元日志。不同发行版服务名不同。
若每次都在认证后失败,应改查密钥、账号或会话限制;只有服务端日志和连接阶段都指向未认证连接拥塞,才继续检查MaxStartups。
MaxStartups的边界
OpenSSH官方手册定义MaxStartups为同时未认证连接的上限。使用start:rate:full形式时,从start个连接开始按概率拒绝,达到full后完全拒绝;默认示例为10:30:100。
还要查看PerSourceMaxStartups及相关每来源限制。改全局上限不一定能解除单个来源地址的限制。
先降低突发再考虑扩容
把自动化任务的SSH连接错峰,复用已有连接或降低并行度。只有确认合法业务确实需要更高的未认证并发时,才在sshd_config中调整上限,并评估暴力尝试和资源消耗风险。
修改前保留现有SSH会话与控制台回退入口。使用sudo sshd -t检查配置;在确认所用发行版服务名后重载SSH服务。不要在唯一远程会话里盲目重启sshd。
验收要覆盖高峰时段
在可控负载下观察合法任务高峰的连接成功率、服务端日志及同时未认证连接数量。若连接仍被拒绝,要继续检查网络设备、每来源限制和其他安全机制。
即使提高上限后故障暂时消失,也要保留拒绝连接和登录失败告警,避免把异常扫描流量当成正常需求。
VPS实例上的操作边界
需要并发测试时可先使用独立VPS。萤光云和LightNode可按实例规格与地域评估;生产SSH配置调整前务必确认控制台能够进入系统。
FAQ
问:MaxStartups能解决已登录用户的新会话打不开吗?答:它针对未认证连接;已认证会话还需检查MaxSessions等其他限制。
温馨提示
温馨提示:当流量来源异常集中时,先辨别合法批量任务与扫描攻击;无限提高并发上限会扩大资源压力。


