1. 概述
SFTP(SSH File Transfer Protocol)通过 SSH 加密传输文件,比 FTP 更安全,防火墙仅需放通单一端口(默认 22)。Linux/Mac 系统自带 SFTP;Windows Server 2019 及以上版本通过启用内置 OpenSSH Server 即可提供,早期系统可用安装包手动安装。
2. 安装 OpenSSH Server
2.1 Windows Server 2019 及以上可使用自动安装
Windows Server 2019 / 2022 / 2025 及 Windows 10 / 11 已内置 OpenSSH Server,作为「可选功能」启用即可。
依次进入「设置>系统>可选功能>添加功能」,找到「OpenSSH 服务器」并点击「安装」。

2.2 Windows Server 2016 / 2012 R2 需手动安装
1)早期系统未内置 OpenSSH,或自动安装出错时,可下载安装包手动安装。
帆软不提供相关安装包,请自行百度查找 OpenSSH 安装包。推荐微软官方 GitHub 仓库下载:https://github.com/PowerShell/Win32-OpenSSH/releases
2)下载解压后双击安装包即可开始安装。如下图所示:

3. 启动 SSH 服务
安装完成后,需将 sshd 服务设为开机自启并运行 sshd。
1)点击「Win + X」,找到「终端(管理员)」,进入「Windows PowerShell」。
2)执行以下命令,设置 sshd 为开机自动启动。执行后不会返回任何提示。
Set-Service -Name sshd -StartupType 'Automatic'
3)启动 sshd 服务。执行后不返回任何提示,见下图「1」处:
Start-Service sshd
4)执行以下命令,确认服务已在 22 端口监听。出现如下图「2」所示内容,则表示成功:
netstat -ano | findstr ":22"

4. 创建用户并连接到 SFTP
4.1 创建用于登录的用户
新建专用本地账户用于 SFTP。
1)点击「Win + X」,找到「终端(管理员)」,进入「Windows PowerShell」。
2)执行以下命令:
net user sftpuser 密码 /add

4.2 检查防火墙端口
1)自动安装以及手动安装,防火墙入站规则通常会自动创建。若在执行 4.3 节连接不通时,可查看防火墙是否未放行 22 端口。可使用以下命令手动放行 22 端口,需要以管理员身份运行 PowerShell 执行:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
2)可在 Windows 防火墙界面里检查 22 端口是否放行,勾选「已启用」和「允许连接」后方可放行。

4.3 测试 SFTP 连接
在任意一台可访问该服务器的机器上,打开 cmd 命令行,输入 sftp 用户名@IP,回车后输入密码。连接成功后进入 sftp> 交互提示符,即表示已跑通。如下图所示:
sftp sftpuser@127.0.0.1
首次连接会提示主机指纹,输入 yes 并回车即可;密码输入时屏幕不显示任何字符,正常输入即可。

5. 平台配置文件服务器
注:开启集群完整步骤请参见:配置开启集群
1)拷贝工程里的 WEB-INF 文件夹,粘贴到 SFTP 根目录下。如下图所示:

2)在帆软平台配置文件服务器时,SFTP 路径填写 /WEB-INF。如下图所示:

