VSCode更新至1.68.0后无法打开SSH远程Linux目录求助
故障原因
从日志可以定位两个核心触发点:
- 远程Linux主机无法连通微软官方下载源,wget拉取对应1.68.0版本(版本提交哈希:4af164ea3a06f701fe3e89a2bcbb421d2026b68f)的vscode-server安装包时超时
- 本地Windows端触发兜底下载逻辑时返回404,是VSCode 1.68版本Remote-SSH插件和你当前使用的Cygwin SSH存在路径适配bug,加上之前清理操作删错了目录:你删除的
.vscode是工作区配置目录,而远程服务的残留损坏文件实际存在.vscode-server路径下,你查到的两个0字节空文件(锁文件、空压缩包)会持续阻断正常安装流程。
修复步骤
- 第一步:清理远程主机的损坏残留文件
直接登录远程Linux主机执行以下命令,只删除出问题的对应版本目录即可,不用删整个.vscode-server目录,避免丢失之前安装的远程扩展:rm -rf ~/.vscode-server/bin/4af164ea3a06f701fe3e89a2bcbb421d2026b68f - 第二步:替换Windows端SSH程序,解决本地下载404问题
你当前配置的Cygwin路径下的ssh.exe和1.68版本Remote-SSH存在路径转义bug,会导致本地下载请求的地址拼接错误返回404,换成Windows自带OpenSSH即可:- 先确认Windows已安装OpenSSH客户端:打开系统设置-可选功能,搜索「OpenSSH 客户端」,未安装的话先完成安装
- 打开VSCode设置,搜索
remote.SSH.path配置项,将原值C:\cygwin64\bin\ssh.exe替换为C:\Windows\System32\OpenSSH\ssh.exe - 找到
remote.SSH.useLocalServer配置项,将值改为true,启用本地服务转发模式,兼容性更好
- 第三步:网络受限场景的手动安装兜底
如果改完SSH配置后仍然因为网络问题无法自动下载安装包,走手动安装流程:- 在本地下载对应提交哈希
4af164ea3a06f701fe3e89a2bcbb421d2026b68f的Linux x64版本vscode-server安装包 - 通过scp等方式将安装包传到远程主机的
~/.vscode-server/bin/4af164ea3a06f701fe3e89a2bcbb421d2026b68f/目录下 - 远程主机进入该目录,执行
tar -zxf vscode-server.tar.gz --strip-components 1完成解压,之后在同目录下新建名为vscode-scp-done.flag的空文件,保持文件属主为当前登录用户即可
- 在本地下载对应提交哈希
- 第四步:完全退出重启VSCode,重新发起SSH连接即可正常打开远程目录
注意:之前执行的
rm -rf .vscode操作完全不涉及远程服务依赖文件,自然无法修复故障,Remote-SSH的所有服务端文件都存放在用户家目录的.vscode-server路径下。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

