ubuntu

Ubuntu SFTP如何使用被动模式

小樊
38
2025-06-17 23:19:07
栏目: 智能运维

在Ubuntu上配置SFTP以使用被动模式,通常是为了确保通过防火墙或NAT设备时能够正常连接。被动模式允许客户端打开一个端口用于数据传输,而服务器则监听该端口。以下是如何配置Ubuntu上的SFTP以使用被动模式的步骤:

  1. 安装OpenSSH服务器(如果尚未安装):

    sudo apt update
    sudo apt install openssh-server
    
  2. 编辑SSH配置文件: 打开SSH配置文件 /etc/ssh/sshd_config

    sudo nano /etc/ssh/sshd_config
    
  3. 启用被动模式: 在配置文件中找到或添加以下行:

    Subsystem sftp internal-sftp
    

    这行代码确保使用内部SFTP子系统。

  4. 配置被动模式端口范围(可选): 如果你需要指定一个特定的端口范围供被动模式使用,可以添加以下行:

    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
        GatewayPorts yes
        ListenAddress 0.0.0.0
        PortRange 50000-50010
    

    这里的 PortRange 指定了被动模式使用的端口范围。你可以根据需要调整这个范围。

  5. 创建SFTP用户组(可选): 如果你希望限制某些用户使用SFTP,可以创建一个专门的用户组并添加用户到该组:

    sudo groupadd sftpusers
    sudo usermod -aG sftpusers your_username
    

    your_username 替换为你希望限制的用户名。

  6. 重启SSH服务: 保存并关闭配置文件后,重启SSH服务以应用更改:

    sudo systemctl restart sshd
    
  7. 配置防火墙(如果使用UFW): 如果你使用的是UFW(Uncomplicated Firewall),确保开放被动模式端口范围:

    sudo ufw allow 50000:50010/tcp
    

通过以上步骤,你应该能够在Ubuntu上配置SFTP以使用被动模式。这样配置后,客户端应该能够通过防火墙或NAT设备正常连接到SFTP服务器。

0
看了该问题的人还看了