VSCode 远程 SSH「Could not establish connection to」连接失败的解决办法
大半夜睡不着,遂萌发了使用 VSCode 连接到远程 64C128G 的机器上玩 cowsay 的想法,配置完插件尝试连接,结果出现报错「Could not establish connection to」。经过一番搜索,我成功解决了问题。
这次我遇到的问题主要是:过程试图写入的管道不存在,这是一个经典错误,通常只需要修复权限和更改 VSCode 设置即可。
icacls config /inheritance:r
icacls config /grant:r "<用户名>":(R,W)
icacls config /remove:g Users 注意将 <用户名> 替换成你的用户名,中文与否不影响。
打开 Extentions,找到已经安装好的 Remote -SSH,右键点击,选择设置。将 Config 部分填写为 SSH 的配置文件,通常是 C:\Users\<用户名>\.ssh\config
如果上述方法没有解决问题,那就要注意是不是远程机器的 glibc 太老了,写文时 vscode remote server 的最低要求是 kernel >= 4.18, glibc >=2.28, libstdc++ >= 3.4.25, binutils >= 2.29,如果在用 Ubuntu 18.04 等版本很可能不支持。
从 VS Code 1.99 版本(2025 年 3 月)开始,VS Code 分发的预构建服务器仅兼容基于 glibc 2.28 或更高版本的 Linux 发行版。例如,包括 Debian 10、RHEL 8 或 Ubuntu 20.04。
如果提供了包含这些所需库版本的 sysroot,VS Code 仍允许用户通过Remote - SSH扩展连接到不受 VS Code 支持的操作系统(即没有glibc >= 2.28和libstdc++ >= 3.4.25的操作系统)。这种方法为您和您的组织提供了更多时间迁移到更新的 Linux 发行版。
最后也是成功在构建机上游玩了 cowsay 一个多小时。