Sublime怎么连接Linux_Sublime SFTP插件远程编辑【远程】

6次阅读

右键无sftp菜单需先确认项目已加载:必须通过project→add folder to project添加本地目录,且右键对象是侧边栏中具体文件夹节点;重启sublime、验证插件作者为wbond、配置文件sftp-config.json须置于项目根目录并严格命名。

Sublime怎么连接Linux_Sublime SFTP插件远程编辑【远程】

右键没出现SFTP菜单?先确认项目已加载

Sublime不会在空白界面或未加载文件夹时显示SFTP选项——这是最常被误以为“插件没装好”的原因。它只对已添加到项目的文件夹生效。

  • 必须通过 Project → Add Folder to Project 添加本地目录,不能只用 File → Open Folder
  • 右键操作对象是侧边栏里**具体的文件夹节点**,不是空白处、也不是文件本身(除非该文件属于已映射项目)
  • 重启sublime text:部分版本安装SFTP后需重启才注册右键菜单项
  • 检查插件作者是否为 wbond:名字含“SFTP”的仿品很多,但只有官方版支持 map to Remote 和完整配置逻辑

sftp-config.json 配置字段填什么?关键三项别写错

配置文件必须放在项目根目录,且严格命名为 sftp-config.json(大小写、短横线、.json缺一不可),否则插件静默忽略。

  • host 填服务器IP或域名,不要加 ssh://http://
  • remote_path 必须以 / 开头且结尾也推荐加 /(如 /var/www/html/),否则路径拼接会出错
  • 密钥登录时,ssh_key_file 路径要写对:~/.ssh/id_rsamacos/linux可用,windows必须用绝对路径如 C:Usersname.sshid_rsa 或正斜杠 C:/Users/name/.ssh/id_rsa
  • 删掉 password 字段再填 ssh_key_file:两者共存时插件可能优先尝试密码,导致 Permission denied (publickey)

保存不上传?打开控制台看真实错误

弹窗提示“Upload failed”太笼统,真正原因藏在底层日志里。靠猜不如直接看SSH/SFTP命令的原始输出。

  • Ctrl+Shift+P 输入 SFTP: Show console 回车,所有连接、认证、传输命令和报错都会实时打印
  • 常见真因:Permission denied 往往不是密钥问题,而是远程目录权限不足(ls -ld /var/www/html 看用户是否有写权限)
  • Connection timed out 多因服务器防火墙封了22端口,或 connect_timeout 设太小(可设为 60
  • 密钥文件权限非 600(Linux/macOS下 chmod 600 ~/.ssh/id_rsa),OpenSSH会直接拒绝读取,连握手都不走

多人协作编辑远程文件,怎么避免覆盖?

SFTP插件没有锁机制,也不比对内容哈希,它只是单向同步(本地→远程)。别人改了服务器上的文件,你本地完全不知道。

  • 启用 sync_down_on_open: true:每次双击打开文件前,自动从服务器拉最新版
  • 启用 confirm_overwrite_newer: true:若本地文件时间戳早于远程,保存时会弹窗提醒,防止误覆盖
  • 别依赖 upload_on_save 做部署:它不校验上传结果,失败也不会回滚,生产环境建议手动触发 SFTP → Upload File 并确认控制台无报错
  • 远程文件被其他方式修改(比如git pull、脚本生成),本地缓存就失效了——这时得手动右键 → SFTP → Download File

配置本身不难,难的是服务器端SSH服务是否允许密钥登录、远程路径权限是否放开、以及本地密钥文件权限是否合规。这三个点卡住,90%的“连不上”“传不了”就解决了。

text=ZqhQzanResources