简要回答:SFTP 本身支持断点续传(resume),但是否“可用”取决于客户端和服务端配置/实现。在 CentOS 上,这主要涉及 OpenSSH 的 sshd 和 SFTP 客户端。
下面详细说明。
SFTP(SSH File Transfer Protocol)协议是支持断点续传的,主要依赖:
RESTORE / RESUME 相关操作(实际是通过 SSH_FXP_WRITE 指定 offset)所以:协议支持,不是问题。
CentOS 默认使用 OpenSSH:
rpm -q openssh-server
OpenSSH 的 sftp-server 支持断点续传,只要:
internal-sftp 或 sftp-server常见配置(/etc/ssh/sshd_config):
Subsystem sftp internal-sftp
✅ 这是支持断点续传的。
⚠ 注意:
ForceCommand 做了限制),可能影响断点续传是否生效,主要看客户端。
lftprsync + sshFileZillaWinSCPcurl (部分场景)sftp 命令(OpenSSH 的 sftp):
put -a localfile remotefile
-a 表示 append(从文件末尾继续)示例:
sftp user@centos
sftp> put -a bigfile.iso
rsync -P -e ssh bigfile.iso user@centos:/data/
-P = 断点续传 + 进度lftp sftp://user@centos
> put -c bigfile.iso
-c = 断点续传
| 项目 | 是否支持 |
|---|---|
| SFTP 协议 | ✅ 支持 |
| CentOS OpenSSH sftp-server | ✅ 支持 |
| OpenSSH sftp 命令 | ⚠ 手动 -a |
| rsync / lftp | ✅ 自动 |
结论:CentOS 的 SFTP 是支持断点续传的,只要客户端配合即可。
如果你愿意,我可以: