怎样在SFTP中启用被动模式
在SFTP中启用被动模式需修改服务器sshd_config文件,取消PassivePorts注释并指定端口范围如50000-50500,重启SSH服务即可。客户端通常默认使用被动模式,无需额外配置。此法可确保数据传输稳定穿透防火墙或NAT设备。
SFTP 的数据传输能不能稳稳穿过防火墙或 NAT 设备,被动模式是关键。说白了,就是在控制连接之外,再开一个独立的数据端口来传文件,这样防火墙就不会莫名其妙地把连接给拦了。下面直接进正题,分环境讲怎么把它配好。

在 Linux 服务器上启用 SFTP 被动模式
编辑 SSH 配置文件:打开终端,用
nano或vim这类编辑器修改/etc/ssh/sshd_config。sudo nano /etc/ssh/sshd_config找到或添加被动端口范围:配置里一般会有这样一行被注释掉的设置——
#PassivePorts 50000-50500把前面的
#去掉,端口范围可以根据自己环境调,比如保留默认的50000-50500就行。PassivePorts 50000-50500保存退出编辑器。
重启 SSH 服务让配置生效。
sudo systemctl restart sshd
在 Windows 服务器上启用 SFTP 被动模式
Windows Server 如果用的是 OpenSSH for Windows 提供 SFTP 服务,操作思路一样,只是路径和命令稍有不同。
打开 PowerShell 或命令提示符,进入 OpenSSH 配置目录(通常是
C:\ProgramData\ssh)。用 Notepad++ 之类编辑器打开
sshd_config。notepad C:\ProgramData\ssh\sshd_config同样找到
#PassivePorts 50000-50500,取消注释并保留或调整端口范围。PassivePorts 50000-50500保存后,在 PowerShell 里重启服务。
Restart-Service sshd
在客户端启用被动模式
大部分 SFTP 客户端默认就是被动模式,没什么需要额外折腾的。如果用的是命令行 sftp,直接连就行。要是用 FileZilla 这类图形界面工具,可以去连接设置里手动勾一下“传输模式”或“被动模式”选项,确保万无一失。
按上面的步骤走完,SFTP 的被动模式就正式开启了,防火墙或 NAT 设备再也不会乱拦数据流,文件传输稳稳的。


































