跳转到内容
AsterDrive
安全更新:Docker 镜像从 v0.4.0-rc.1 起已修复 FFmpeg MagicYUV 解码器漏洞 CVE-2026-8461(高危),使用旧镜像的实例请立即升级。查看 CVE 公告
安全更新:v0.4.0-beta.3 已修复 WebDAV 请求可导致服务进程终止的问题,旧版本实例请尽快升级。查看安全公告

SFTP 存储策略教程

SFTP 适合这些场景:

  • 已经有一台通过 SSH/SFTP 管理的文件服务器
  • 目标存储是 NAS、传统服务器目录或只能通过 SFTP 暴露的存储
  • 不希望浏览器直接访问存储后端,上传下载都可以由 AsterDrive 服务端中继
  • 需要按用户、团队或文件大小把部分文件写到 SFTP 后端

如果你需要浏览器直传,优先看 S3 / MinIO / R2Azure Blob Storage腾讯云 COS。SFTP 的上传和下载都经过 AsterDrive 服务端。

SFTP 服务器

SSH 账号 / 远程目录 / 主机密钥指纹

AsterDrive sftp 存储策略

策略组规则

用户或团队绑定策略组

SFTP 服务器

SSH 账号 / 远程目录 / 主机密钥指纹

AsterDrive sftp 存储策略

策略组规则

用户或团队绑定策略组

只创建 SFTP 存储策略还不够。用户或团队真正上传时,会先命中策略组,再由策略组规则分配到某条存储策略。

你要做什么入口
创建 SFTP 策略管理 -> 存储策略 -> 新建策略
测试 SFTP 连接管理 -> 存储策略 -> 测试连接
创建分流规则管理 -> 策略组
给用户绑定策略组管理 -> 用户 -> 用户详情
给团队绑定策略组管理 -> 团队 -> 团队详情

先在 SFTP 服务器上准备一个专用账号和目录,例如:

/srv/asterdrive

建议只授予这个账号对目标目录的读写权限。AsterDrive 至少需要:

  • 创建目录
  • 写入文件
  • 读取文件
  • 删除文件
  • 读取文件元数据

不要把管理员账号、root 账号或和其他应用共用的目录直接交给 AsterDrive。

进入:

管理 -> 存储策略 -> 新建策略

选择驱动类型:

sftp

填写连接信息:

字段示例说明
Endpointsftp://sftp.example.com:22SFTP 服务器地址
SSH 用户名asterdrive用于登录 SFTP 服务器的账号
SSH 密码********对应账号的密码
基础路径/srv/asterdriveAsterDrive 写入对象时使用的远程根目录
SSH 主机密钥指纹SHA256:...首次连接确认后填写

Endpoint 支持这些写法:

sftp://sftp.example.com:22
sftp.example.com
sftp.example.com:2222

没有端口时默认使用 22。如果写了协议,只支持 sftp://。不要把用户名、密码、路径、query 或 fragment 放进 Endpoint;远程根目录放到“基础路径”,账号密码放到对应凭据字段。

SFTP 策略默认拒绝未知主机密钥。第一次测试连接时,如果还没有保存 SSH 主机密钥指纹,连接会失败,并在诊断信息里返回服务器实际的 SHA256:... 指纹。

正确流程是:

  1. 先填写 Endpoint、SSH 用户名、SSH 密码和基础路径
  2. 点击连接测试
  3. 从失败诊断里读取服务器返回的 SHA256:... 指纹
  4. 用可信渠道和服务器管理员确认这个指纹确实属于目标 SFTP 服务器
  5. 把确认后的指纹填入 SSH 主机密钥指纹
  6. 再次连接测试,确认通过后保存策略

连接测试失败时,后台会显示可用于排查的原因。常见排查顺序:

  1. AsterDrive 服务器能否访问 Endpoint 和端口
  2. Endpoint 是否只包含 host 和可选端口
  3. SSH 用户名和密码是否正确
  4. 账号是否允许 SFTP 子系统
  5. 基础路径是否存在,或者账号是否有权限创建它
  6. SSH 主机密钥指纹 是否和服务器当前 host key 一致
  7. 服务器防火墙、fail2ban 或连接数限制是否拒绝了登录

如果错误提示主机密钥不匹配,不要直接覆盖旧指纹。先确认服务器是否确实轮换了 host key。

不要一上来直接改默认策略组。建议先创建一个测试策略组,绑定一个测试用户或测试团队,然后跑完整流程:

  1. 上传小文件
  2. 上传一个超过普通表单大小的大文件
  3. 下载文件
  4. 预览或公开分享一个普通文件
  5. 删除并恢复文件
  6. 确认 SFTP 服务器目标目录里出现对象文件

确认没有问题后,再把真实用户或团队切到包含 SFTP 策略的策略组。

SSH 密码可以通过编辑策略轮换。编辑已保存策略时,密码字段留空会保留现有凭据。

能力当前行为
上传AsterDrive 服务端流式写入 SFTP
下载AsterDrive 服务端从 SFTP 读取后返回给浏览器
浏览器直传不支持
对象存储分片直传不支持
预签名 URL不支持
容量观测不支持统一容量查询
Range 读取支持高效 range 读取