Sublime Text如何使用SFTP远程文件同步_Sublime SFTP远程文件同步使用详解

老浩吖_5568

老浩吖_5568

2026-04-02

682人浏览

原创

sublime text 4 中 sftp 插件需满足项目已加载、侧边栏含可映射文件夹、正确安装 wbond 版并重启才能显示右键菜单;连接失败多因 ssh 握手问题,须用绝对密钥路径、600 权限、启用 pubkeyauthentication;上传依赖路径匹配与 upload_on_save 开关位置,权限错乱需设 default_permissions;无锁机制,不可替代 rsync 或 git。

sublime text如何使用sftp远程文件同步_sublime sftp远程文件同步使用详解

Sublime Text 原生不支持 SFTP 远程同步,所有“自动上传”功能都依赖第三方插件,而目前唯一能稳定跑在 Sublime Text 4 上的只有 SFTP(wbond 版),但它不是 FTP 客户端,而是基于本地 SSH 工具链封装的同步代理——这意味着它会调用系统 ssh 和 sftp 命令,而不是自己实现协议栈。

为什么 SFTP 插件右键菜单不出现

这不是安装失败,而是触发条件没满足。插件只在「已加载项目」且「侧边栏有可映射的文件夹」时才激活菜单项。

  • 必须通过 Project → Add Folder to Project 或 Project → Save Project As… 显式建立项目,不能只打开单个文件
  • 右键目标必须是侧边栏中显示的文件夹(不是空白处、不是标签页、不是未保存的 untitled 文件)
  • 安装后必须重启 Sublime Text —— Package Control 不会热加载 GUI 菜单项
  • 确认安装的是作者为 wbond 的 SFTP,不是 sftp-client 或 FTPSync 等仿制品

sftp-config.json 配置写对了却连不上

绝大多数连接失败和配置语法无关,而是 SSH 底层握手被拒。插件不会复用你终端里已登录的 ssh-agent,它每次都是全新调用 ssh 命令。

万彩商图
万彩商图

万彩商图是一款专为电商商品图和模特图生成打造的 AI 商拍工具。

下载
  • host 填内网 IP(如 192.168.1.100)但你在公网访问?换公网 IP 或域名,并确认服务器防火墙放行对应端口
  • private_key 路径写相对路径(如 ~/.ssh/id_rsa)?必须写绝对路径,Linux/macOS 用 /home/you/.ssh/id_rsa,Windows 用 C:/Users/You/.ssh/id_rsa
  • 密钥权限不是 600?Linux/macOS 下执行 chmod 600 ~/.ssh/id_rsa,否则 OpenSSH 直接拒绝读取
  • 服务器 /etc/ssh/sshd_config 关了密钥登录?检查 PubkeyAuthentication yes 是否启用
  • 同时写了 password 和 private_key 字段?二者互斥,删掉 password 字段

upload_on_save 设为 true 却没上传

这个开关只是“触发器”,真正决定是否上传的是路径匹配逻辑和项目上下文。

  • upload_on_save 必须写在 sftp-config.json 的根对象层级,不能嵌套在 files 或 sync_down_on_open 下面
  • 当前编辑的文件路径必须落在 local_path(或项目根目录)下,且其相对于该路径的子路径要能与 remote_path 对齐。例如:local_path 是 /src,remote_path 是 /var/www/html,那你改 /src/js/app.js 才会传到 /var/www/html/js/app.js
  • 没保存过 .sublime-project 文件?SFTP 插件只认「带 project 文件的项目」,不认「临时打开的文件夹」
  • 网络超时默认 3 秒,服务器响应慢就静默失败。加 "timeout": 10 提高容忍度
  • 想调试?按 Ctrl+Shift+P 输入 SFTP: Show Console,所有底层 sftp 命令和错误都会实时打印出来

上传后远程文件权限错乱(比如变成 600 导致网页打不开)

SFTP 插件上传文件时默认继承本地 umask,不设法覆盖就会让 PHP/HTML 文件变成不可读(web server 拒绝服务)。

  • 在 sftp-config.json 中显式加 "default_permissions": "644"(文件)和 "default_dir_permissions": "755"(目录)
  • 别依赖 ignore_regexes 来跳过 .git 或 node_modules —— 如果它们出现在 local_path 下但没被忽略,插件仍会尝试上传,可能因权限或大小卡死
  • 上传失败不会回滚,也不会提示;开启 "confirm_sync": true 可在每次上传前弹窗确认
  • 多人协作场景下,sync_down_on_open 是必要选项,否则你打开一个已被同事改过的文件,保存时直接覆盖对方修改

最常被忽略的一点:SFTP 插件没有锁机制,也不做内容比对。它只管“把本地文件扔过去”,哪怕远程文件刚被 curl 改过、被脚本重写过、甚至被 rm -rf 过,它都不会预警。真要可靠同步,得靠 rsync --checksum 或 Git 工作流,而不是编辑器插件。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2135

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3242

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1096

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3699

7

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

2023.06.14

3623

6

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

2023.10.30

815

4

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

5767

5

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.10

2488

6

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4336

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程