remote-ftp 无法连接云服务器,因其仅支持已淘汰的 ftp/ftps 协议,而云服务器默认关闭 ftp 端口、强制使用 sftp;应改用 sftp3 插件,严格配置 sftp-config.json 并通过项目根目录右键操作。

Remote-FTP 不能用于 Sublime Text 的云端服务器同步 —— 它不支持 SFTP/SSH,也不兼容现代云服务器(如阿里云、腾讯云、AWS EC2)的默认认证方式,90% 的连接失败源于协议误用或密钥认证被静默拒绝。
Remote-FTP 插件根本连不上云服务器
Remote-FTP 是一个纯 FTP 协议插件,只支持明文传输的 ftp:// 或加密性弱、已淘汰的 ftps://;而当前主流云服务器(包括所有新购 ECS、轻量应用服务器)默认关闭 FTP 端口(21),仅开放 SSH(22)并强制使用 SFTP 子系统。Remote-FTP 尝试连接时通常卡在“Connecting…”或直接报错 Connection refused,不是配置问题,是协议层不匹配。
- 它不调用系统
ssh或sftp命令,无法复用~/.ssh/config或ssh-agent - 不支持私钥 + passphrase 组合,
private_key字段即使填了也常被忽略 - 密码含特殊字符(如
@、/、:)时,URL 编码逻辑残缺,极易触发530 Login authentication failed
真正能连云服务器的是 SFTP(旧版)或 sftp3
Sublime Text 要对接云服务器,必须走 SFTP 协议,且依赖底层系统命令;目前唯一稳定可用的是社区维护分支 sftp3(非官方 SFTP 插件,后者自 2021 年起停止更新):
- 安装方式:打开命令面板(
Ctrl+Shift+P),输入Package Control: Install Package→ 搜索并安装sftp3(不是SFTP,也不是Remote-FTP) - 安装后必须重启 Sublime Text,否则右键菜单不出现
SFTP/FTP选项 - 项目必须通过
Project → Add Folder to Project加入,不能只用File → Open Folder - 右键对象只能是侧边栏中那个**文件夹图标本身**,点空白处、点文件、点未保存标签页均无效
sftp-config.json 必须严格满足四个硬性条件
这个文件不是可选配置,而是 SFTP 插件运行的唯一依据;写错任一细节就会静默失败(无错误提示,上传按钮灰色或点击无反应):
- 文件名必须是
sftp-config.json(全小写、带短横线、.json 后缀),SFTP-config.json、sftp_config.json、sftp-settings.json全部无效 - 必须放在你右键的那个项目根目录下,不能放在子目录或
Packages/User里 -
remote_path必须以/开头,结尾建议也加/(如"/var/www/html/"),否则路径拼接错位 - 用密钥登录时,
password字段必须彻底删除(不是留空字符串),否则插件会强行走密码认证并失败
upload_on_save 不生效?检查三个隐性前提
upload_on_save 是开关,但不是魔法 —— 它只在满足全部条件时才触发上传:
- 该字段必须写在
sftp-config.json的根对象层级,不能嵌套在files、sync_down_on_open等字段内 - 当前编辑的文件路径必须落在
local_path(或项目根目录)之下,且其相对路径能与remote_path对齐(例如:本地index.html在项目根目录,remote_path为"/var/www/html/",则上传到/var/www/html/index.html) - 服务器响应慢时默认 3 秒超时,可加
"connect_timeout": 10提高容错,但设太高会导致操作卡死无反馈
最常被忽略的一点:SFTP 插件没有文件监听能力,所谓“自动上传”只是在 on_post_save_async 事件里触发单次上传,不是实时双向同步;如果远程文件被其他渠道修改,本地不会自动拉取 —— 这不是 bug,是设计如此。











