云服务器 SSH 接入怎么配置限制单用户最大连接数

星杰酱_7622

星杰酱_7622

2026-10-08

911人浏览

原创

限制单用户最大ssh连接数需分层配置:①用sshd_config中match user + maxsessions控制已认证会话数;②用limits.conf设nproc间接限制进程总数;③用iptables connlimit防止单ip过度连接;④调高sshd文件描述符上限避免系统级瓶颈。

云服务器 ssh 接入怎么配置限制单用户最大连接数

云服务器上限制单用户最大 SSH 连接数,不能靠 pam_limits.so 直接控制「登录会话数」,因为它只管进程数量(nproc),不区分是 SSH、screen 还是后台脚本。真正有效且可落地的配置,需分层处理:SSH 层面做逻辑限制、系统资源层做兜底、网络层防滥用。

用 sshd_config 的 Match User + MaxSessions 控制已认证会话

这是最标准、最推荐的第一道防线,适用于大多数云环境(阿里云、腾讯云、AWS EC2 等):

  • 编辑 /etc/ssh/sshd_config,在文件末尾添加(以用户 alice 为例):
    Match User alice<br>  MaxSessions 4
  • MaxSessions 限制的是「该用户成功认证后能开启的并发会话总数」,包括:
    – 多个终端窗口(ssh alice@server)
    – SFTP 连接
    – 端口转发(ssh -L / -R)
    – multiplexing 复用通道
  • 注意:它对未完成认证的连接无效,也不限制不同 IP 登录;修改后必须执行 sudo systemctl restart sshd 生效

用 limits.conf 限制用户总进程数(间接控连接)

当无法使用 Match(如旧版 OpenSSH 或容器化 SSH 服务),或需更粗粒度压制时,可用此法:

IT技术解决互联网公司网站模板
IT技术解决互联网公司网站模板

IT技术解决互联网公司网站模板是一款适合提供APP设计、网页开发、SEO优化、云服务、数据分析等服务的互联网公司宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。

下载
  • 编辑 /etc/security/limits.conf,添加:
    alice soft nproc 6<br>alice hard nproc 6
  • 每个 SSH 登录至少占用 2–3 个用户进程(sshd、shell、可能还有 systemd --user),设为 6 意味着大致支持 2–3 个稳定会话,留有余量给 tmux 或 systemctl --user
  • 确保 /etc/pam.d/sshd 中存在:
    session required pam_limits.so(多数发行版默认已有)
  • 用户需完全退出并重新登录才生效;验证命令:ulimit -u 应返回 6

用 iptables connlimit 防止单 IP 过度连接(增强防护)

防止一个恶意 IP 用多个账号或脚本反复建连,尤其适合暴露在公网的云服务器:

  • 运行命令(限制每 IP 最多 3 个并发 SSH 连接):
    sudo iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 3 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
  • 搭配 MaxStartups 5:30:10(写入 sshd_config),防御未认证半开连接堆积
  • 再加一条限速规则,防扫描器高频试探:
    sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 5/min --limit-burst 5 -j ACCEPT<br>sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j DROP
  • 规则顺序很重要:限速 → connlimit → 其他;重启后需持久化(如 Ubuntu 用 netfilter-persistent save)

检查并放宽系统级资源上限(避免误伤)

即使上面都配了,若系统本身限制太严,新连接仍会失败:

  • 查当前 sshd 能打开多少文件:
    cat /proc/$(pgrep -f "sshd -D")/limits | grep "Max open files"
  • 若显示 1024,建议在 /etc/security/limits.conf 加:
    sshd soft nofile 65535<br>sshd hard nofile 65535
  • systemd 环境还需:
    sudo systemctl edit sshd<br>[Service]<br>LimitNOFILE=65535
  • 最后重启:sudo systemctl daemon-reload && sudo systemctl restart sshd

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2732

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

916

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

809

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

414

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2476

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4592

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

747

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程