Sublime Text 3.1.1无法打开远程文件至本地,求解决方法
解决Sublime Text 3.1.1通过SSH打开远程文件的问题
我之前也碰到过类似的困扰,ST3下用rmate/rsub没反应确实挺让人头疼的,给你梳理一套亲测有效的配置步骤,一步步来排查解决:
一、先搞定本地Sublime Text 3的配置
- 首先安装适配ST3的插件:别用旧的rmate插件了,直接通过Package Control安装RemoteSubl插件(打开Package Control的方法是按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入Install Package,然后搜索RemoteSubl)。 - 配置监听端口:打开Sublime的设置面板(
Preferences > Settings),在用户设置里添加以下内容:
这个端口是默认的,记住它,后面远程配置要对应上。{ "remote_subl_port": 52698, "remote_subl_host": "localhost" } - 确保插件服务启动:安装完成后,去
Tools菜单里找RemoteSubl选项,点击Start Server(如果已经启动会显示Stop Server,那就没问题)。
二、远程服务器的关键配置
- 替换适配ST3的
rsub脚本:旧的rmate脚本可能不兼容ST3,你可以获取适配ST3版本的rsub脚本,将其放到远程机器的/usr/local/bin/rsub路径下,然后执行以下命令赋予执行权限:sudo chmod +x /usr/local/bin/rsub - 建立带反向端口转发的SSH连接:这是最容易忽略的点! 不能用普通的
ssh user@remote_host,必须加上端口转发参数,命令应该是:
这个命令的作用是把远程机器的52698端口反向转发到本地的52698端口,这样远程的ssh -R 52698:localhost:52698 your_username@your_remote_iprsub请求才能传到本地Sublime。 - 验证环境变量:在远程终端执行
echo $RSUB_PORT,如果没有输出,没关系,脚本默认会用52698端口;如果有其他值,要改成和本地一致的52698。
三、测试与排查
- 测试基础功能:远程连接成功后,执行
rsub a.txt,正常情况下本地Sublime会自动弹出这个文件。如果还是没反应,试试指定端口:rsub --port 52698 a.txt。 - 常见问题排查:
- 端口占用:本地执行
lsof -i :52698(Windows用netstat -ano | findstr :52698),看看有没有其他进程占了这个端口,有的话换个端口(比如52699),同步修改本地Sublime设置和远程rsub命令的--port参数。 - 防火墙拦截:本地防火墙要允许52698端口的入站连接,远程机器的防火墙也要放行这个端口的转发流量。
- 插件未启用:回到Sublime的Package Control,确认
RemoteSubl在已安装列表里,没有被禁用。 - 脚本权限:远程机器上执行
ls -l /usr/local/bin/rsub,确保有x权限(执行权限),如果没有就用chmod +x补上。
- 端口占用:本地执行
内容的提问来源于stack exchange,提问作者Tom Taylor
相关产品推荐
相关产品推荐

