Sublime怎么配置FTP/SFTP插件 Sublime远程上传文件教程【干货】

9次阅读

sublime SFTP插件仅支持SFTP/ssh协议(端口22),不兼容传统FTP;配置需严格遵循jsON格式、正确路径及权限,且依赖服务器SSH服务正常运行。

Sublime怎么配置FTP/SFTP插件 Sublime远程上传文件教程【干货】

Sublime 的 SFTP 插件不支持 FTP,只认 SFTP/SSH 协议

很多人搜“Sublime FTP 教程”,但实际安装的 SFTP 插件根本不支持传统 FTP(即明文传输、端口 21)。它底层用的是 SSH 文件传输协议(SFTP),必须走 port: 22,依赖 SSH 服务可用。如果你的服务器只开了 FTP 服务、没开 SSH,那这个插件直接连不上——不是配置错了,是协议不兼容。

常见错误现象:Connection refusedTimeout waiting for SSH,往往就是服务器压根没运行 sshd,或者防火墙拦了 22 端口。

  • 确认服务器 SSH 是否正常:终端执行 ssh user@host 能连上,SFTP 插件才可能成功
  • 别在 host 字段写 ftp://xxx.com——必须只填域名或 IP,如 "host": "192.168.1.100"
  • FTP 需求强烈?换工具:FileZilla + Sublime 外部编辑器绑定,或改用 VS Code 的 FTP-Simple 插件(明确支持 FTP)

sftp-config.json 必须放在项目根目录,且文件名不能错

插件不会全局扫描,也不会读取系统 SSH 配置(比如 ~/.ssh/config),它只看当前 Sublime 项目的根目录下有没有名为 sftp-config.json 的文件。名字少个横线、多个小写、带空格或后缀是 .json.txt,都会导致右键菜单里完全不显示 Sync Remote 选项,也不报错,静默失效。

实操建议:

  • 在 Sublime 中用 Project → Add Folder to Project 加入本地文件夹,再右键该文件夹 → SFTP → Setup Server,自动生成配置文件(最稳)
  • 手动创建时,用 Sublime 自带的 JSON 语法高亮检查格式:确保所有引号是英文双引号,逗号不结尾,remote_path 末尾不加斜杠("/var/www/html" ✅,"/var/www/html/" ❌ 可能同步失败)
  • 配置里不要出现注释(///* */),JSON 标准不支持,会解析失败

密钥登录失败?90% 是路径或权限问题

即使你在终端能 ssh user@host 成功,SFTP 插件仍报 Permission denied (publickey),大概率是这两点:

  • ssh_key_file 值用了 ~/.ssh/id_rsa:Sublime 不展开波浪号,必须写绝对路径,如 "/Users/you/.ssh/id_rsa""C:\Users\You\.ssh\id_rsa"
  • 私钥文件权限太松:linux/macos 下运行 chmod 600 ~/.ssh/id_rsawindows 若用 git bash 生成的密钥,也要确认属性里没勾选“只读”
  • 别同时填 passwordssh_key_file,插件行为未定义,优先级混乱

如果不想折腾密钥,可临时用密码登录(仅限内网/测试环境):"password": "your-pass",但注意该字段明文可见,切勿提交到 Git。

自动同步开启容易,关掉更关键

upload_on_savesync_down_on_open 开起来很爽,但一不小心就覆盖协作成果或上传半截文件。特别是 sync_down_on_open,打开一个文件就拉整个远程目录?大项目卡死不说,还可能把别人刚改的线上配置冲掉。

  • 开发阶段推荐:"upload_on_save": true + "sync_down_on_open": false,手动按需下载
  • 上线前部署:关掉自动上传,右键文件夹 → Upload Folder,更可控
  • 忽略列表必配:"ignore_regexes": [".git", "node_modules", "*.log", "sftp-config.json"],否则上传几 GB 依赖或日志,同步一次等两分钟

真正容易被忽略的点:网络不稳定时,upload_on_save 会静默失败,文件看似保存了,其实没传上去。建议首次配置完,手动右键上传一个测试文件,看状态栏是否显示 Upload complete,再开自动模式。

text=ZqhQzanResources