温馨提示×

ubuntu sftp能断点续传吗

小樊
45
2026-10-16 23:47:59
栏目: 智能运维

简短结论:SFTP 本身(协议层面)是支持断点续传的,在 Ubuntu 上使用 SFTP 是否能断点续传,取决于你用的客户端和命令方式。


1. SFTP 协议本身

SFTP(SSH File Transfer Protocol)基于 SSH,协议支持:

  • 指定偏移量写入文件(SSH_FXP_WRITE + offset)
  • 所以理论和技术上完全支持断点续传

2. Ubuntu 常见情况

✅ 命令行 sftp(OpenSSH 客户端)

OpenSSH 自带的 sftp 默认不支持自动断点续传,但可以手动续传:

sftp user@host

手动续传方法:

put -a localfile remotefile
  • -a 参数:append 模式(追加)
  • 前提是远端文件已存在且内容正确

示例:

put -a bigfile.iso

⚠️ 注意:

  • 不会自动校验已传内容
  • 中断后要你自己重新执行 put -a

✅ 使用 rsync over SSH(最推荐)

如果你只是想在 Ubuntu 上“断点续传文件”,强烈推荐 rsync:

rsync -P -e ssh bigfile.iso user@host:/path/

优点:

  • 自动断点续传
  • 自动校验
  • 网络中断可直接重跑
  • 支持限速、压缩

-P = --partial --progress


✅ 图形化工具(支持很好)

以下工具在 Ubuntu 上完美支持 SFTP 断点续传:

  • FileZilla
  • WinSCP(通过 Wine)
  • Cyberduck

3. 服务器端限制(少见)

一般 Ubuntu 的 OpenSSH Server 默认允许 SFTP 续传,除非:

  • 使用了 rssh
  • 限制了写权限
  • 使用 chroot 且权限异常

总结

方式 是否支持断点续传
OpenSSH sftp(自动) ❌
OpenSSH sftp(put -a) ✅(手动)
rsync over ssh ✅✅✅
FileZilla ✅

如果你愿意,我可以:

  • 给你一个 自动断点续传脚本
  • 或帮你检查 服务器 SFTP 配置是否支持

0 踩