2025-09-03 13:21:55.721 [info] Resolving ssh remot...

Creato il: 3 settembre 2025

Risposto usando GPT-5 Thinking da Chat01

Domanda

2025-09-03 13:21:55.721 [info] Resolving ssh remote authority '43.143.57.14' (Unparsed 'ssh-remote+7b22686f73744e616d65223a2234332e3134332e35372e3134227d') (attempt #1)
2025-09-03 13:21:55.721 [info] SSH askpass server listening on port 55199
2025-09-03 13:21:55.722 [error] Error resolving SSH authority Unexpected token '', "{
"q"... is not valid JSON
2025-09-03 13:22:01.625 [info] Reloading window
2025-09-03 13:22:03.125 [info] Resolving ssh remote authority '43.143.57.14' (Unparsed 'ssh-remote+7b22686f73744e616d65223a2234332e3134332e35372e3134227d') (attempt #1)
2025-09-03 13:22:03.128 [info] SSH askpass server listening on port 55215
2025-09-03 13:22:03.133 [error] Error resolving SSH authority Unexpected token '', "{

使用vscode,cmd 都可以连接ssh服务器,
b612@B612 MINGW64 ~/.ssh
$ xxd ~/.ssh/config | head -n 1
00000000: 486f 7374 2034 332e 3134 332e 3537 2e31 Host 43.143.57.1

b612@B612 MINGW64 ~/.ssh
但是cursor 安装拓展就是不能连接,并且报错,找到原因并修复

Pensiero

Thought for 1m 24s

Risposta

看日志里这句是关键:

Error resolving SSH authority Unexpected token '', "{ "q"... is not valid JSON

这个 UTF-8 的 BOM 字节(0xEF 0xBB 0xBF)。Cursor 里的 Remote-SSH 解析某个 JSON 文件时遇到 BOM,JSON.parse 直接报错,于是你在 VSCode / cmd 能连,唯独 Cursor 的扩展报错。这通常不是 ~/.ssh/config 的问题(你用 xxd 看也没 BOM),而是 Cursor 自己的 Remote-SSH 扩展或它的缓存 JSON 被写成了“带 BOM”的文件,或者装的是 Cursor 的 fork(Open Remote-SSH)而不是微软官方的 Remote-SSH 版本,已知容易出怪问题。(Stack Overflow, Cursor - Community Forum, GitHub)

下面给你一套“从快到稳”的修复步骤(Windows):


最快修复(10 分钟内搞定)

  1. 卸载可疑的 SSH 扩展,换官方版
  • 打开 Cursor → Extensions(扩展):
    • 卸载名为 “Open Remote - SSH” 或任何非微软的 SSH 远程扩展。
    • 安装 Remote - SSH(ms-vscode-remote.remote-ssh) 的最新版(微软官方)。
      这是 VS Code 官方文档对应的扩展,兼容性最好。(Visual Studio Code, GitHub)
  1. 清掉 Cursor 的 Remote-SSH 缓存(含可能带 BOM 的 data.json)
  • 退出 Cursor。
  • 打开 PowerShell,执行:
powershell
Remove-Item -Recurse -Force "$env:APPDATA\Cursor\User\globalStorage\ms-vscode-remote.remote-ssh"
  • 重新打开 Cursor(扩展会自动重建干净的缓存/JSON)。

说明:Remote-SSH 会在 …\globalStorage\ms-vscode-remote.remote-ssh\…\data.json 之类的文件里存储信息,一旦这里被写成 带 BOM,解析就会报你看到的错。清空后会重建为无 BOM 的 JSON。类似问题在社区里也常见,用更新扩展 / 清缓存即可恢复。(Stack Overflow)

  1. 再试连接
  • 打开 Remote Explorer,选你的 43.143.57.14 主机重连。
  • 如果你在 Git Bash 能连,Cursor 也应当能连。

如果还不行,再做下面这几步“稳妥排查”

A) 确认 Cursor 用的是同一套 ssh.exe

  • 在 Cursor 设置里搜 remote.SSH.path
    • 指定为系统自带的:
      C:\Windows\System32\OpenSSH\ssh.exe
      或者 Git 自带的:
      C:\Program Files\Git\usr\bin\ssh.exe
  • 这样避免 Cursor 去调用某个奇怪路径的 ssh。

B) 检查是否有带 BOM 的本地 JSON

  • 重点看(如果存在):
    • %APPDATA%\Cursor\argv.json
    • %APPDATA%\Cursor\User\settings.json
  • 用 PowerShell 检测 BOM(文件前三字节若是 239 187 191 就是 BOM):
powershell
(Get-Content -Encoding Byte -TotalCount 3 "$env:APPDATA\Cursor\User\settings.json") -join ' '
  • 如果有 BOM,用 Notepad++ → Encoding → UTF-8 (without BOM) 另存。

C) 开 Trace 日志定位栈

  • Cursor 设置里把 remote.SSH.logLevel 设为 trace,再连一次。
  • 菜单 Help → Toggle Developer Tools → Console 里搜索 “Unexpected token”。
    如果堆栈指向 remote-ssh 的 getProductInfo / data.json 等位置,基本就是前面提到的 旧版 bug/缓存 JSON 带 BOM,更新扩展并清缓存即可。(Stack Overflow)

D) 已知 Cursor 与 Remote-SSH 的兼容坑

  • Cursor 社区/issue 里近期也有多起与“Resolver/authority/exec server”等相关的错误报告,通常通过换回官方 Remote-SSH 版本或重新安装相关版本来解决。(Cursor - Community Forum, GitHub)

为什么 VSCode 能连而 Cursor 不行?

VS Code 用的是官方 Remote-SSH;Cursor 有时会内置/推荐 fork 版本(如 Open Remote-SSH)或在打包时引入与 JSON 解析相关的改动。只要你换回 微软官方 Remote-SSH 并清理 Cursor 的缓存 JSON,这类 “Unexpected token ''(BOM)” 基本都能一次性解决。(Visual Studio Code, GitHub)


需要的话我也可以给你一段小脚本,自动遍历 %APPDATA%\Cursor 下的所有 .json 文件并移除 BOM;不过按照上面的“卸载换官方扩展 + 清缓存”流程,通常不需要走到这一步。

Condividi questa Q&A