无论源端还是目标端是哪类FTP服务器,只要基于SSH协议实现数据传输,最安全通用的方案就是启用SFTP子系统的服务端配置与客户端直连方式,不需要额外搭建VPN或改变现有防火墙策略。SFTP(SSH File Transfer Protocol)并非传统FTP的升级版,它内嵌于SSH服务(通常为OpenSSH),复用22端口,天然具备加密通道与身份认证机制,下面从协议对比、服务端配置、客户端操作、自动化脚本及Windows与Linux互传场景五个维度拆解完整操作路径。
SFTP与FTP的核心差异:为什么基于SSH的传输更值得选
传统FTP使用21端口控制链路与20端口数据链路,密码和文件内容均以明文传输,在2026年等保2.0与数据安全法落地执行背景下已难以通过合规审计,SFTP全程走SSH加密隧道,无需额外开放端口,天然规避了FTP被动模式下端口段难以管理的问题。
1 协议栈对比速查
| 对比项 | FTP | SFTP(基于SSH) | FTPS(FTP over SSL) |
|---|---|---|---|
| 默认端口 | 21/20 | 22 | 990/动态端口 |
| 加密方式 | 无 | SSH加密通道 | TLS/SSL |
| 防火墙配置 | 需要开放端口段 | 仅需22端口 | 复杂动态端口 |
| 传输效率 | 高 | 中等(加密开销) | 中等 |
| 断点续传 | 支持 | 支持 | 支持 |
| 目录列表格式 | 标准 | 标准 | 标准 |
经验上文小编总结: 跨境传输场景或涉及政务云主机迁移时,SFTP的单一端口特性显著降低安全组策略配置成本,这是目前云服务器厂商(如阿里云、腾讯云默认安全组规则)首推SFTP的核心原因。
服务端配置:让目标FTP服务器开启SSH/SFTP支持
若目标FTP服务器是Linux发行版(如CentOS 7.9+、Ubuntu 22.04 LTS),SSH服务默认包含SFTP子系统,但Windows Server 2022自带OpenSSH Server后,同样支持SFTP,核心配置要点如下:
1 Linux服务端(以CentOS Stream 9为例)
- 检查服务状态: 执行
systemctl status sshd确认SSH服务运行中。 - SFTP子系统默认启用:

查看
/etc/ssh/sshd_config中Subsystem sftp internal-sftp配置行,确保未被注释。 - 权限锁定(安全加固): 如需限制用户仅可SFTP不可SSH登录,在
sshd_config末尾追加:
Match Group sftpusersChrootDirectory /data/ftp_rootForceCommand internal-sftpAllowTcpForwarding no
修改后执行systemctl restart sshd,此配置强制用户只能访问指定目录,这是金融级客户审计要求的标准模板。
2 Windows服务端(以Windows Server 2022为例)
- 安装OpenSSH Server: 在“设置”>“系统”>“可选功能”中添加OpenSSH服务器,或通过PowerShell执行
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0。 - 启动服务: 设置启动类型为自动,并启动
sshd服务。 - 注意磁盘权限: Windows下SFTP根目录权限需授予运行SSH服务的账户权限,否则会报错“无法读取本地目录”。
客户端传输实践:从命令行到图形化工具
完成服务端配置后,重点在于客户端选择与执行效率,以下按用户技术背景分层推荐。
1 命令行操作(适合运维自动化与脚本调用)
- 单文件传输:
sftp username@host_ip:/remote/path <<< $'put local_file'。 - 目录递归上传:
sftp -r username@host_ip:/remote_dir <<< $'put -r local_dir'。 - 批量下载匹配文件:
sftp -b batch.txt username@host_ip,批量文件内逐行写mget *.log。
实战经验: 流媒体素材站每日增量同步,优先使用rsync配合SSH隧道(rsync -avz -e ssh),其增量校验机制比SFTP自带mget效率高约40%,且支持断点续传。
2 图形化工具选型对比(2026年主流)
| 工具名称 | 支持协议 | 多线程 | 价格模式 | 适用场景 |
|---|---|---|---|---|
| WinSCP | SFTP/FTP/FTPS | 支持 | 免费 | 中小型文件日常管理 |
| FileZilla Pro | SFTP/FTP/WebDAV | 支持 | 按年付费 | 多协议切换的高频运维 |
| Xftp 7 | SFTP/FTP | 支持 | 个人版免费 | 配合Xshell终端使用 |
| FinalShell | SFTP/SSH | 支持 | 免费 | 服务器集群管理与文件分发 |
注意: 选择工具时需关注是否支持SSH密钥对登录,用密钥认证替代密码认证是2026年等保测评的高频考核项。
高频场景实操:服务器之间直接互传文件
多数用户混淆“本地上传”与“服务器间中转”,若两台FTP服务器均支持SSH,最可靠路径是通过本机做中转或使用服务器端直连脚本。
1 场景一:Linux服务器之间跨机房传输(含上海与北京地域走专线场景)
在两台Linux服务器上分别配置SSH密钥免密登录后,执行:
scp -P 22 /data/backup.tar.gz root@另一台服务器IP:/data/receive/
该命令基于SSH协议加密传输,效果等同于SFTP且免去交互式登录步骤,若带宽受限,可改用rsync -e ssh --partial --progress实现断点续传。
2 场景二:Windows本机文件推送到远程Linux FTP服务器
- 使用WinSCP图形界面,会话协议选SFTP,端口默认22。
- 高级设置中指定本地目录映射,直接拖拽上传。
- 定时同步采用WinSCP命令行模式:
winscp.com /command "open sftp://username:password@host:22" "synchronize local" "exit"。
3 场景三:两台Windows服务器互传(未安装第三方软件)
Windows Server 2022自带OpenSSH,两台机器均启动服务后,在目标机执行scp命令即可,注意确保Windows防火墙放行22端口入站规则。
安全与效率调优:关键参数与错误排查
1 安全策略强制项(2026年基线)
- 禁用密码登录,仅保留密钥:
PasswordAuthentication no。 - 协议版本限定: 在sshd_config中设置
Protocol 2。 - 空闲超时断开:
ClientAliveInterval 300,防止会话挂起。
2 常见报错应对指南
- “Connection refused”:检查远端22端口监听状态及云安全组是否放行。
- “No supported authentication methods”:服务端已禁用密码登录但客户端未配置密钥。
- “Permission denied (publickey)”:本地公钥未正确加入远端
~/.ssh/authorized_keys,注意检查目录权限为700,文件权限为600。

基于SSH协议主机间的FTP传输设置,核心在于**理解SFTP与FTP的本质差异,正确开启服务端SSH子系统,合理搭配客户端工具**,无论您是运维工程师还是开发者,只要遵循上述服务端配置与客户端操作路径,即可在保障传输安全的前提下实现高效文件同步,请优先采用**密钥认证+目录权限限制+传输日志审计**三件套,应对合规检查时从容不迫。
FAQ 常见问题解答
Q1:SFTP传输速度和传统FTP差多少?
慢约20%-30%,因为加密加解密耗时,若追求速度且对安全性要求不高,可考虑在受信内网环境使用FTP;公网环境必须牺牲性能换安全。
Q2:SFTP用的FTP服务器软件是什么?
Linux下是OpenSSH自带的internal-sftp,Windows下是OpenSSH Server组件,无需单独安装FTP服务端软件。
Q3:两台远程服务器如何直接传输?可以不通过本地电脑中转吗?
可以,在源服务器上执行scp或sftp命令直接推送到目标服务器,前提是源服务器能访问目标服务器的22端口。
互动引导: 您在实际配置中是否遇到过无法用root账户登录SFTP的情况?欢迎描述操作环境,共同探讨解决方法。
参考文献:
- OpenSSH官方文档. sshd_config(5) Linux manual page,2025年更新。
- 中国网络安全审查技术与认证中心. 信息安全技术 网络安全等级保护基本要求(GB/T 22239-2019)实施指南,2024年修订版。
- Microsoft Learn. OpenSSH Server configuration for Windows Server 2022,2025年发布。
- 阿里云文档中心. 使用SFTP上传文件到ECS实例最佳实践,2026年1月更新。
小伙伴们,上文介绍ftp服务器之间传输设置_SSH协议主机,如何使用FTP/SFTP传输文件?的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复