SFTP插件连不上根本原因是SSH认证失败或路径配置错位;必须用密钥认证、正斜杠绝对路径、匹配ssh命令参数;上传需配置upload_on_save与ignore_regexes防覆盖;中文路径失败多因服务器locale非UTF-8;上传慢可启用keepalive并关闭sync_down_on_open。
为什么 SFTP 插件装了却连不上服务器
根本原因通常是 SSH 认证失败或路径配置错位,不是插件没装好。Sublime 的 SFTP 插件依赖本地 ssh 命令(Windows 需额外装 OpenSSH 或 Git Bash),且不支持密码交互式输入——必须用密钥认证。
- 检查本地能否命令行直连:
ssh -i /path/to/key user@host,不通就别指望插件通 -
sftp-config.json里host、user、port必须和 ssh 命令一致,private_key路径要用正斜杠、绝对路径(Windows 也写C:/Users/xxx/key,别用反斜杠) - 如果服务器禁用了密码登录但你没配密钥,会卡在“Connecting…”或报错
Authentication failed
如何让保存即上传,又避免覆盖线上配置文件
靠 upload_on_save + ignore_regexes 组合控制,不是所有文件都该自动同步。
- 启用实时上传:
"upload_on_save": true,但默认会传整个项目目录,危险 - 限定作用范围:在项目根目录建
sftp-config.json,用"remote_path": "/var/www/html/"指定目标,别用/ - 排除敏感文件:
"ignore_regexes": ["\\.env$", "config\\.php$", "\\.git/", "node_modules/"],正则末尾加$防误杀 - 注意:修改远程文件后本地不会自动拉取,
upload_on_save是单向的
中文路径或特殊字符文件名上传失败怎么办
本质是编码不一致。SFTP 插件默认按 UTF-8 解析路径,但某些旧版 Linux 服务器(尤其是 CentOS 6 或未设 locale 的容器)用的是 Latin-1,导致文件名乱码、创建失败或 404。