centos

centos sftp如何设置传输速率限制

小樊
44
2025-12-13 14:31:59
栏目: 智能运维

在CentOS系统中,可以通过配置SSH服务器来限制SFTP用户的传输速率。以下是具体的步骤:

方法一:使用ssh配置文件

  1. 编辑SSH配置文件: 打开/etc/ssh/sshd_config文件。

    sudo vi /etc/ssh/sshd_config
    
  2. 添加或修改以下配置: 在文件末尾添加以下内容,以限制用户的带宽:

    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
        MaxSessions 1
        MaxStartups 1:30:10
        BandwidthLimit 1024Kbps
    

    这里的BandwidthLimit参数用于设置带宽限制,单位可以是Kbps、Mbps等。sftpusers是一个用户组,你需要将需要限制带宽的用户添加到这个组中。

  3. 创建用户组并添加用户: 创建一个名为sftpusers的用户组,并将需要限制带宽的用户添加到这个组中。

    sudo groupadd sftpusers
    sudo usermod -aG sftpusers username
    

    username替换为实际的用户名。

  4. 重启SSH服务: 保存并退出配置文件后,重启SSH服务以使更改生效。

    sudo systemctl restart sshd
    

方法二:使用tc命令

如果你需要更细粒度的控制,可以使用tc(Traffic Control)命令来限制带宽。

  1. 安装tc工具: 确保系统中已经安装了tc工具。

    sudo yum install iproute
    
  2. 创建带宽限制规则: 使用tc命令为特定用户或IP地址设置带宽限制。

    sudo tc qdisc add dev eth0 root handle 1: htb default 30
    sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1024kbps ceil 1024kbps
    sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src <user_ip> flowid 1:1
    

    eth0替换为实际的网络接口,<user_ip>替换为需要限制带宽的用户的IP地址。

  3. 删除带宽限制规则: 如果需要删除带宽限制规则,可以使用以下命令:

    sudo tc qdisc del dev eth0 root
    

注意事项

通过以上方法,你可以在CentOS系统中设置SFTP用户的传输速率限制。

0
看了该问题的人还看了