在Ubuntu上配置SFTP以使用被动模式,通常是为了确保通过防火墙或NAT设备时能够正常连接。被动模式允许客户端打开一个端口用于数据传输,而服务器则监听该端口。以下是如何配置Ubuntu上的SFTP以使用被动模式的步骤:
安装OpenSSH服务器(如果尚未安装):
sudo apt update
sudo apt install openssh-server
编辑SSH配置文件:
打开SSH配置文件 /etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
启用被动模式: 在配置文件中找到或添加以下行:
Subsystem sftp internal-sftp
这行代码确保使用内部SFTP子系统。
配置被动模式端口范围(可选): 如果你需要指定一个特定的端口范围供被动模式使用,可以添加以下行:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
GatewayPorts yes
ListenAddress 0.0.0.0
PortRange 50000-50010
这里的 PortRange
指定了被动模式使用的端口范围。你可以根据需要调整这个范围。
创建SFTP用户组(可选): 如果你希望限制某些用户使用SFTP,可以创建一个专门的用户组并添加用户到该组:
sudo groupadd sftpusers
sudo usermod -aG sftpusers your_username
将 your_username
替换为你希望限制的用户名。
重启SSH服务: 保存并关闭配置文件后,重启SSH服务以应用更改:
sudo systemctl restart sshd
配置防火墙(如果使用UFW): 如果你使用的是UFW(Uncomplicated Firewall),确保开放被动模式端口范围:
sudo ufw allow 50000:50010/tcp
通过以上步骤,你应该能够在Ubuntu上配置SFTP以使用被动模式。这样配置后,客户端应该能够通过防火墙或NAT设备正常连接到SFTP服务器。