关键词:SSH


旧版 VSCode SSH 远程连接无法解析工作区

今天不知道什么原因,服务器的一个路径无法 IO 访问,导致 VSCode 的 ssh 连接出了问题,显示无法解析工作区、无法加载资源等字样。

上网搜了很多解决方法,我选择使用重装,事实上也解决了问题。

步骤如下:

  1. 查看 VSCode 版本的 Commit ID(Help -> About)

  2. 下载对应的 Commit ID 服务包,网址为:https://update.code.visualstudio.com/commit:COMMIT_ID/server-linux-x64/stable

  3. 把 vscode-server 包上传到服务器,并按下面步骤操作。

1
2
3
4
5
6
rm -r ~/.vscode-server
mkdir -p ~/.vscode-server/bin
cp vscode-server-linux-x64.tar.gz ~/.vscode-server/bin
cd ~/.vscode-server/bin
tar -zxvf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64 <COMMIT_ID>

然后重新连接服务器即可。(实在不行再试一次重装)

详细操作步骤和参考:https://zhuanlan.zhihu.com/p/701307164


新版 VSCode 连接内网离线服务器

2026.04.02 更新

最近把 VSCode 的版本更新到 1.113.0,然后内网服务器的 .vscode-server 又抽风了。按照上面的办法重新搞了一次发现仍是不行,搜索后发现新版 VSCode 的步骤不一样了,在此再记录一下。

新版 VSCode 的 .vscode-server 文件夹发生了变化,文件结构如下:

1
2
3
4
5
6
7
8
9
.vscode-server/
├── data/ # VSCode 的数据目录,包含用户设置、缓存等
├── bin/ # 旧版 VSCode 服务端文件目录
├── cli/ # 新版 VSCode 命令行工具目录
│ ├── servers/ # 服务端文件存储目录
│ │ └── Stable-COMMIT_ID/ # 特定版本的服务端文件,COMMIT_ID 为 VSCode 版本的提交 ID
│ └── lru.json # 服务端缓存管理文件
├── extensions/ # 扩展插件目录
└── code-COMMIT_ID # 新版 VSCode 核心文件目录,COMMIT_ID 为对应版本的提交 ID

按照新的文件结构创建对应的文件夹结构。

新版 VSCode 对应的文件下载地址如下:

https://vscode.download.prss.microsoft.com/dbazure/download/stable/COMMIT_ID/vscode-server-linux-x64.tar.gz

  • COMMIT_ID 可以在 VSCode 的 About 中查看。
  • 下载后 解压~/.vscode-server/cli/servers/Stable-COMMIT_ID/ 目录下,并重命名为 server

https://vscode.download.prss.microsoft.com/dbazure/download/stable/COMMIT_ID/vscode_cli_alpine_x64_cli.tar.gz

  • COMMIT_ID 可以在 VSCode 的 About 中查看。
  • 下载后 解压~/.vscode-server/ 目录下,并重命名为 code-COMMIT_ID

最后在 ~/.vscode-server/cli/servers/ 目录下创建 lru.json 文件,内容如下:

1
["Stable-COMMIT_ID"]

最后可用的文件结构为:

1
2
3
4
5
6
7
8
9
10
.vscode-server/
├── cli/
│ ├── servers/
│ │ └── Stable-cfbea10c5ffb233ea9177d34726e6056e89913dc/
│ │ └── server
│ └── lru.json
├── bin/
├── data/
├── extensions/
└── code-cfbea10c5ffb233ea9177d34726e6056e89913dc

参考链接:https://zhuanlan.zhihu.com/p/690137600

离线服务器配置扩展插件

更新 VSCode 并成功连接服务器后,扩展插件无法使用,点击在 IP 安装也没用。

搜索了一番解决方法,如:

  1. 点击插件页的“小云朵图标”,即“在 SSH: IP中安装本地扩展”。
    • 提示错误,估计是网络问题。
  2. 从 VSCode 中右键插件下载 VSIX 文件,并上传到服务器,然后执行命令:code --install-extension <.vsix文件名>
    • 提示错误,估计还是网络问题,似乎在验证插件。

最后我的解决方案是: 在一台能连接网络的服务器或 WSL 上配置好 .vscode-server 文件夹,然后把 .vscode-server 文件夹上传到内网服务器,需要修改 extensions/extensions.json 文件下的 path 字段

结果是可行的,我没招了。