sublime text 需通过 wbond 官方 sftp 插件实现远程编辑,必须以项目方式打开本地文件夹后右键映射远程路径;配置 sftp-config.json 时 host 不加协议头、remote_path 必须绝对路径、密钥登录需删 password 字段并设 private_key 权限为 600;upload_on_save 默认 false 需手动启用,sync_down_on_open 可能导致卡顿;连接失败多因服务端 sftp 子系统未启用或路径权限问题,应先用 ssh 命令验证。

Sublime Text 本身不支持 SFTP 远程编辑,必须依赖第三方插件(如 wbond 的 SFTP)或系统级挂载(如 sshfs),且新版 Sublime Text 4 中多数老插件已失效或静默崩溃——别试“一键连接”,先确认你用的是兼容版本。
怎么安装并触发 SFTP 插件配置
插件不会自动弹窗,必须手动触发;右键菜单不出现,大概率是操作路径不对或插件未真正加载。
- 确保已通过
Project → Add Folder to Project打开一个本地文件夹(空项目或无文件夹时,SFTP 菜单项不显示) - 右键侧边栏中该文件夹(不是空白处、不是单个文件),选择
SFTP → Map to Remote,才会生成sftp-config.json - 如果仍无此选项,检查是否安装的是作者为
wbond的官方 SFTP 插件(非同名仿品),且已重启 Sublime Text - 命令面板(
Ctrl+Shift+P)输入SFTP: Setup Server是备选方式,但生成的配置是全局的,不如Map to Remote按项目隔离可靠
sftp-config.json 关键字段怎么填才不连不上
90% 的连接失败不是 SSH 问题,而是 JSON 配置里几个字段写错位置或语义理解偏差。
-
host填 IP 或域名,不要加ssh://或sftp://前缀 -
remote_path必须以/开头,且是服务器上的绝对路径(如/var/www/html),~/project不解析波浪号,会静默失败 - 用密钥登录时,删掉
password字段,只留private_key(Linux/macOS 路径如~/.ssh/id_rsa),并确保权限为600;Windows 下写C:/Users/xxx/.ssh/id_rsa,反斜杠必须双写或全用正斜杠 - 如果服务器禁用了密码登录,但配置里还留着
password字段,插件可能跳过密钥尝试,直接报Authentication failed
为什么保存没上传、打开没拉新、或者卡死在“Connecting…”
这些不是网络慢,而是同步策略和底层协议限制被忽略了。
-
upload_on_save默认是false,必须显式设为true才保存即上传;关掉它,改完 Ctrl+S 就只是本地存盘 -
sync_down_on_open设为true后,每次双击打开文件前会先从服务器下载最新版——但若网络不稳定,会导致 Sublime 卡住数秒甚至假死 - 插件不复用终端里的
ssh-agent,即使你在命令行能免密登录,SFTP 仍可能失败;可加"ssh_args": ["-o", "IdentitiesOnly=yes"]强制只用配置的私钥 - 上传失败时,按
Ctrl+Shift+P输入SFTP: Show Console查看真实错误(比如Permission denied (publickey)或Unexpected server response while fetching directory listing),比弹窗提示有用得多
哪些坑最容易被当成“Sublime 不行”其实是配置或环境问题
真正难调的不是语法,而是那些不报错却让行为异常的隐性约束。
- 服务器端
/etc/ssh/sshd_config若注释或删了Subsystem sftp internal-sftp,SFTP 连接会直接失败,报错模糊,需查服务端日志 - Sublime 缓存旧配置:改完
sftp-config.json后没重启编辑器,设置不生效,尤其remote_path改错后仍往老路径传 - 挂载点含空格或中文(如
/mnt/my project),Sublime 可能无法识别路径,导致Map to Remote失效 -
ignore_regexes没配好,可能把sftp-config.json自己也同步到服务器,造成配置污染
最麻烦的不是连不上,而是连上了却不知道它什么时候没传、传到哪去了——remote_path 写错一字符、权限没设对、或服务器 SFTP 子系统被关,都会导致文件消失在黑洞里。动手前先用 ssh user@host ls /your/remote/path 手动验证路径和权限,比反复重启 Sublime 有效得多。











