Sublime Text 不支持原生 SSH 编辑,因无内置 SSH 客户端,仅识别本地路径;rsub 通过 SSH 端口转发实现代理编辑,需远程运行 rsub、本地安装 RSub 插件并配置端口转发。

Sublime Text 本身不支持原生 SSH 编辑,所谓“远程编辑”实际是靠 rsub(Remote Sublime)配合 rsync 或反向端口转发实现的——本质是把远程文件同步/代理到本地 Sublime 打开,不是真正通过 SSH 流式读写。
为什么不能直接用 SSH 打开远程文件?
Sublime Text 没有内置 SSH 客户端,subl user@host:/path 这类命令会直接失败(报错 Unable to parse path 或直接忽略主机部分)。它只认本地文件路径或 file:// URL,不解析 SSH URI。
常见错误现象:
- 执行
subl ssh://user@host:/path/to/file→ 无反应或打开空白窗口 - 在终端里运行
ssh user@host "subl /path"→ 报错Unable to connect to X server(因为没图形环境) - 误以为安装了
Sublime SFTP插件就能实时双击编辑 → 实际是下载→编辑→上传三步手动操作,非实时联动
rsub 是怎么工作的?
rsub 是一个轻量级 Ruby 脚本(也可用 Python 版 pyrsub),它在远程服务器上监听本地回环的 TCP 端口(默认 52698),Sublime 通过插件 RSub 主动连接该端口,把远程打开请求转给本地 Sublime。整个过程依赖 SSH 端口转发。
关键点:
- 必须在远程服务器上运行
rsub(或pyrsub),且它要能访问到你要编辑的文件路径 - SSH 连接需开启远程端口转发:
ssh -R 52698:localhost:52698 user@host - 本地 Sublime 必须安装
RSub插件,并确保52698端口未被占用 -
rsub启动后,你在远程终端执行rsub file.txt,就会在本地 Sublime 中打开该文件(路径为远程绝对路径)
示例启动流程:
ssh -R 52698:localhost:52698 user@192.168.1.100 # 登录后,在远程 shell 执行: gem install rsub # 或用 pip install pyrsub rsub # 启动监听(后台运行建议加 && disown)
常见连不上、打不开的坑
绝大多数失败不是配置错,而是卡在以下三个地方之一:
-
Connection refused:本地 Sublime 没装RSub插件,或插件未启用;检查 Sublime 控制台是否有RSub: listening on 127.0.0.1:52698 -
Permission denied (publickey):SSH 连接本身失败,和 rsub 无关;先确保ssh user@host能免密登录 - 文件打开了但内容为空/乱码:远程
rsub启动时工作目录不对,或文件权限限制(如/var/log/xxx需 root 权限运行rsub) - 编辑保存后远程文件没变:Sublime 默认保存到本地临时路径;必须点击菜单
File → Save(或Ctrl+S),此时 RSub 插件会自动通过 SSH 将内容写回远程原路径
替代方案对比:SFTP 插件 vs rsub vs VS Code Remote-SSH
如果你只是偶尔改一两个配置文件,rsub 足够轻快;但一旦涉及项目级开发,要注意:
-
SFTP插件:适合小项目,每次保存都触发上传,网络延迟明显;不支持断点调试、终端集成 -
rsub:响应快,但仅限文件编辑;无法调用远程 shell、运行测试、查看日志流 -
VS Code + Remote-SSH:真正把整个 IDE 运行在远程,本地只渲染界面;支持调试、终端、Git 集成——如果团队已用 VS Code,别硬套 Sublime 方案
真正容易被忽略的是:rsub 的“远程路径”在 Sublime 标题栏显示为 /home/user/project/file.py,但你本地并没有这个目录结构。一旦误关窗口又没保存,或者网络中断时强制退出,就可能丢内容——务必养成 Ctrl+S 后看右下角状态栏是否出现 Saved via RSub。










