Sublime Text如何配置SFTP插件实现远程FTP上传到服务器?

2026-04-29 02:243阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1247个文字,预计阅读时间需要5分钟。

Sublime Text如何配置SFTP插件实现远程FTP上传到服务器?

Sublime Text 本身不支持 FTP 或 SFTP 上传,所谓的FTP 上传在 Sublime 中实际上只能通过 SFTP(SSH 文件传输协议)实现。这需要依赖第三方插件,目前唯一可用且维护良好的选项是 SFTP 插件(wbond 版本)。但请注意,这个插件 不兼容 FTP 协议,也不支持纯 FTP 服务器。如果你的服务器只开启了 FTP(非 SFTP),则该插件无法使用。


Sublime 安装 SFTP 插件必须用 Package Control,手动放文件夹无效

手动下载 zip、解压到 Packages/ 目录会导致插件初始化失败:菜单不出现、右键无 SFTP 选项、命令面板搜不到相关命令。

  • 先确认已装 Package Control:按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入 Install Package Control 回车
  • 再按 Ctrl+Shift+P → 输入 Package Control: Install Package 回车
  • 等列表加载完,搜 SFTP,**只选作者为 wbond 的那个**(别选 sftp-clientFTPSync 等仿品)
  • 安装后必须重启 Sublime Text,否则 Project 菜单和右键菜单不会显示 SFTP

sftp-config.json 必须放在项目根目录,字段错一个就静默失败

插件不报红框错误,只在状态栏闪一下文字,然后没反应——这是最常被忽略的点。配置文件名必须是 sftp-config.json,编码为 UTF-8 无 BOM,且必须位于你通过 Project → Add Folder to Project 加入的本地项目根目录下。

  • "host":只填 IP 或域名,**不能带 ftp://sftp:// 前缀**,例如 "host": "192.168.1.100"
  • "user":SSH 用户名,不是控制面板账号;若用密钥登录,"password" 字段必须删掉或留空
  • "ssh_key_file":路径必须是**绝对路径**,Linux/macOS 下如 "/home/you/.ssh/id_rsa",Windows 下如 "C:/Users/You/.ssh/id_rsa"(正斜杠更稳)
  • "remote_path":必须以 / 开头的**绝对路径**,例如 "/var/www/html/";结尾加 / 影响上传目标位置,不加可能传错目录
  • "port":默认 22,如果服务器改过 SSH 端口,必须显式写上,比如 "port": 2222

upload_on_save 不生效?大概率是项目没绑定或路径不匹配

设了 "upload_on_save": true 却没上传,不是插件坏了,而是 Sublime 根本不知道该把当前文件同步到哪——它只对“属于某个 SFTP 项目的文件”起作用。

  • 必须通过侧边栏右键本地项目根文件夹 → SFTP → Map to Remote…,才能生成有效配置并自动绑定
  • 或者手动创建 .sublime-project 文件,并在里面嵌入 sftp 配置块(仅推荐高级用户)
  • 文件本地路径需能映射到 remote_path:比如 remote_path/var/www/html/,你编辑的是 js/app.js,那它会被传到 /var/www/html/js/app.js;但如果编辑的是 ../config.php,就不会上传
  • 网络慢时默认 3 秒超时,可在配置里加 "timeout": 10 提高容错

上传成功但网页 500?别怪插件,看权限和 SELinux

SFTP 插件只负责搬运字节,不处理 Web 服务器上下文。上传后 PHP 报 500、CSS 不加载,几乎全是权限或安全模块拦截导致。

  • 默认上传文件权限是 644,目录是 755,但有些环境(如 suPHP、open_basedir)要求脚本属主匹配或权限更严格
  • 可在配置中加 "file_permissions": "644""dir_permissions": "755",但前提是服务器接受该组合
  • 更稳妥做法:上传后立刻执行远程命令,按 Ctrl+Shift+P → 输入 SFTP: Execute Command → 填 chmod 644 index.php
  • 如果总提示 Failed to write file 却又显示 Success,登服务器跑 ausearch -m avc -ts recent 查 SELinux 拦截日志

配置真正跑通的关键,不在 JSON 写得多漂亮,而在 SSH 层是否通、路径是否可写、权限是否被系统策略卡住——这些地方一出问题,插件连报错都懒得给你。

标签:Sublime

本文共计1247个文字,预计阅读时间需要5分钟。

Sublime Text如何配置SFTP插件实现远程FTP上传到服务器?

Sublime Text 本身不支持 FTP 或 SFTP 上传,所谓的FTP 上传在 Sublime 中实际上只能通过 SFTP(SSH 文件传输协议)实现。这需要依赖第三方插件,目前唯一可用且维护良好的选项是 SFTP 插件(wbond 版本)。但请注意,这个插件 不兼容 FTP 协议,也不支持纯 FTP 服务器。如果你的服务器只开启了 FTP(非 SFTP),则该插件无法使用。


Sublime 安装 SFTP 插件必须用 Package Control,手动放文件夹无效

手动下载 zip、解压到 Packages/ 目录会导致插件初始化失败:菜单不出现、右键无 SFTP 选项、命令面板搜不到相关命令。

  • 先确认已装 Package Control:按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入 Install Package Control 回车
  • 再按 Ctrl+Shift+P → 输入 Package Control: Install Package 回车
  • 等列表加载完,搜 SFTP,**只选作者为 wbond 的那个**(别选 sftp-clientFTPSync 等仿品)
  • 安装后必须重启 Sublime Text,否则 Project 菜单和右键菜单不会显示 SFTP

sftp-config.json 必须放在项目根目录,字段错一个就静默失败

插件不报红框错误,只在状态栏闪一下文字,然后没反应——这是最常被忽略的点。配置文件名必须是 sftp-config.json,编码为 UTF-8 无 BOM,且必须位于你通过 Project → Add Folder to Project 加入的本地项目根目录下。

  • "host":只填 IP 或域名,**不能带 ftp://sftp:// 前缀**,例如 "host": "192.168.1.100"
  • "user":SSH 用户名,不是控制面板账号;若用密钥登录,"password" 字段必须删掉或留空
  • "ssh_key_file":路径必须是**绝对路径**,Linux/macOS 下如 "/home/you/.ssh/id_rsa",Windows 下如 "C:/Users/You/.ssh/id_rsa"(正斜杠更稳)
  • "remote_path":必须以 / 开头的**绝对路径**,例如 "/var/www/html/";结尾加 / 影响上传目标位置,不加可能传错目录
  • "port":默认 22,如果服务器改过 SSH 端口,必须显式写上,比如 "port": 2222

upload_on_save 不生效?大概率是项目没绑定或路径不匹配

设了 "upload_on_save": true 却没上传,不是插件坏了,而是 Sublime 根本不知道该把当前文件同步到哪——它只对“属于某个 SFTP 项目的文件”起作用。

  • 必须通过侧边栏右键本地项目根文件夹 → SFTP → Map to Remote…,才能生成有效配置并自动绑定
  • 或者手动创建 .sublime-project 文件,并在里面嵌入 sftp 配置块(仅推荐高级用户)
  • 文件本地路径需能映射到 remote_path:比如 remote_path/var/www/html/,你编辑的是 js/app.js,那它会被传到 /var/www/html/js/app.js;但如果编辑的是 ../config.php,就不会上传
  • 网络慢时默认 3 秒超时,可在配置里加 "timeout": 10 提高容错

上传成功但网页 500?别怪插件,看权限和 SELinux

SFTP 插件只负责搬运字节,不处理 Web 服务器上下文。上传后 PHP 报 500、CSS 不加载,几乎全是权限或安全模块拦截导致。

  • 默认上传文件权限是 644,目录是 755,但有些环境(如 suPHP、open_basedir)要求脚本属主匹配或权限更严格
  • 可在配置中加 "file_permissions": "644""dir_permissions": "755",但前提是服务器接受该组合
  • 更稳妥做法:上传后立刻执行远程命令,按 Ctrl+Shift+P → 输入 SFTP: Execute Command → 填 chmod 644 index.php
  • 如果总提示 Failed to write file 却又显示 Success,登服务器跑 ausearch -m avc -ts recent 查 SELinux 拦截日志

配置真正跑通的关键,不在 JSON 写得多漂亮,而在 SSH 层是否通、路径是否可写、权限是否被系统策略卡住——这些地方一出问题,插件连报错都懒得给你。

标签:Sublime