sublime怎么解决sftp上传权限不足_sublime远程同步权限错误处理【方案】
发布时间 - 2026-01-01 00:00:00 点击率:次SFTP插件报“Permission denied (publickey)”或“550 Permission denied”主因是认证方式不匹配、密钥路径未配置、端口错误、remote_path权限不足或umask导致文件权限异常,需逐项检查sftp-config.json字段及服务器权限设置。
为什么 SFTP 插件报 Permission denied (publickey) 或 550 Permission denied
不是密码错了,也不是服务器没开 SSH,而是 SFTP 插件默认用的认证方式和你的服务器实际要求不匹配。常见组合是:服务器只允许密钥登录,但插件配置里没指定 private_key;或者你用了密码登录,但服务器禁用了密码认证(PasswordAuthentication no);还有一种是路径权限问题——比如你连的是用户 deploy,但目标目录属主是 www-data,且目录权限是 755,导致写入失败。
配置 sftp-config.json 必须填对这 4 个字段
Sublime 的 SFTP 插件靠项目根目录下的 sftp-config.json 工作。光有 host 和 user 不够,下面这些字段漏一个都可能上传失败:
-
"type": "sftp"—— 别写成"ftp"或漏掉 -
"sync_down_on_open": false—— 避免打开文件时意外覆盖本地内容 -
"upload_on_save": true—— 确保保存即同步 -
"private_key": "/Users/you/.ssh/id_rsa"—— 绝对路径,Windows 用双反斜杠或正斜杠,如"C:/Users/you/.ssh/id_rsa"
如果服务器用非标准端口(比如 2222),必须显式加 "port": 2222,否则插件默认走 22,连不上就直接报权限错。
上传后文件属主/权限不对?改 remote_path 和 file_permissions
SFTP 插件不会自动帮你 chown 或 chmod,上传后的文件权限取决于服务器 SSH 用户的 umask 和目标目录权限。如果你需要 PHP 能读、Web 服务能写,得手动干预:
- 确保
"remote_path"指向你有完整写权限的目录(比如/home/deploy/webapp/,而不是/var/www/html/) - 加
"file_permissions": "644"和"dir_permissions": "755"—— 这些值只在上传时生效,不影响已有文件 - 更彻底的办法:在服务器上把你的部署用户加入对应组(如
www-data),并把目标目录设为g+rwX,再配"umask": "002"
调试时打开 SFTP 日志看真实错误
插件界面不报详细错误,但日志会打印每一步的响应。打开 Sublime → Preferences → Package Settings → SFTP → Debug Log,然后上传一次,看控制台输出。重点找这几类线索:
-
Connection refused→ 端口或防火墙问题 -
Authentication failed→ 密钥路径错 / 密码错 / 服务器禁了该认证方式 -
No such file或Failed to create directory→remote_path不存在或父目录没写权限 -
Operation not per→ SELinux 或挂载选项(如
mittednoexec)拦截
日志里出现 SSH_FX_PERMISSION_DENIED 就说明不是连接问题,是路径或用户权限卡住了,这时候回头检查 remote_path 所属用户和目录 ls -ld 结果最有效。
密钥路径写错、remote_path 拼错、服务器 umask 和目录权限三者叠加,最容易被当成“权限不足”笼统处理。逐项验证比反复重装插件快得多。
# php
# linux
# word
# html
# sublime
# js
# json
# windows
# 防火墙
# app
# 端口
# ai
# Directory
# var
# ssh
# 上传
# 的是
# 不匹配
# 如果你
# 已有
# 设为
# 帮你
# 你有
# 错了
# 用了
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
javascript中对象的定义、使用以及对象和原型链操作小结
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
如何确认建站备案号应放置的具体位置?
大连 网站制作,大连天途有线官网?
如何为不同团队 ID 动态生成多个“认领值班”按钮
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
如何用美橙互联一键搭建多站合一网站?
Laravel如何记录自定义日志?(Log频道配置)
详解CentOS6.5 安装 MySQL5.1.71的方法
北京网站制作的公司有哪些,北京白云观官方网站?
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
利用python获取某年中每个月的第一天和最后一天
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
Laravel如何处理和验证JSON类型的数据库字段
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
如何快速配置高效服务器建站软件?
Laravel定时任务怎么设置_Laravel Crontab调度器配置
音乐网站服务器如何优化API响应速度?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
个人网站制作流程图片大全,个人网站如何注销?
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
如何用好域名打造高点击率的自主建站?
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
详解jQuery停止动画——stop()方法的使用
Laravel如何自定义分页视图?(Pagination示例)
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
在centOS 7安装mysql 5.7的详细教程
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
Linux系统命令中screen命令详解
如何在Windows服务器上快速搭建网站?
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
,交易猫的商品怎么发布到网站上去?
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
JavaScript中的标签模板是什么_它如何扩展字符串功能
php结合redis实现高并发下的抢购、秒杀功能的实例
在线制作视频的网站有哪些,电脑如何制作视频短片?
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
HTML 中如何正确使用模板变量为元素的 name 属性赋值
Java垃圾回收器的方法和原理总结
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
历史网站制作软件,华为如何找回被删除的网站?


mitted