【问题已解决】 关于vscode remote-ssh报错远程主机不满足VSCode服务器的先决条件的问题解决方案
vscode终端报错信息如下所示
-
在最近一次远程 - SSH 会话中检测到以下问题 Ctrl+单击某个问题以在 Copilot 聊天中继续。 ╔══════════════╤═════════════════════════════════════════╤═════════════════════════════════════════╤═════════════════════════════════════════╗ ║ 状态 │ 消息 │ 缓解措施 │ 资源 ║ ╟──────────────┼─────────────────────────────────────────┼─────────────────────────────────────────┼─────────────────────────────────────────╢ ║ LinuxPrereqs │ 远程主机可能不符合 glibc 和 libstdc++ V │ • https://aka.ms/vscode-remote/faq/old- │ • https://aka.ms/vscode-remote/linux-pr ║ ║ │ S Code 服务器的先决条件 (远程主机不满足 │ linux │ erequisites ║ ║ │ 运行VS Code服务器的先决条件) │ │ ║ ╚══════════════╧═════════════════════════════════════════╧═════════════════════════════════════════╧═════════════════════════════════════════╝ 在以下位置查看详细信息: Output Log...
简言之,此问题就是vscode的版本过新,然后远端服务器的glibc以及libstdc++版本过低。我出现这种情况的版本 vscodev1.99.2
和ubuntu18(glibc 2.27)
,所以会出现无法访问远端服务器的问题。
-
查看远端服务器库版本与系统架构
-
# 检查glibc版本(VS Code要求≥2.28) ldd --version | head -n1 # 检查libstdc++版本(要求≥GLIBCXX_3.4.21) strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX | tail -n1 # 检查系统架构(需x86_64/arm64) uname -m
-
-
若远端服务器有外网,直接更新对应的库。
-
# Ubuntu/Debian系统 sudo apt update && sudo apt upgrade -y sudo apt install libstdc++6 glibc -y # CentOS/RHEL系统 sudo yum update glibc libstdc++ -y
-
-
若远端服务器无外网,回退vscode版本,我的vscode版本为
v1.99.2
,这个版本已经放弃对glibc <2.28的支持,所以我们只能去回退v1.98.2
-
vscode v1.98.2下载链接:https://update.code.visualstudio.com/1.98.2/win32-x64-user/stable
-
下载后,在无网情况下进行更新,会直接覆盖电脑上的vscode不会影响相关配置文件。
-
打开需要将vscode自动更新禁用
- 可参考:VScode:禁止VScode自动升级_vscode 禁用更新-CSDN博客
-
至此,已经可以正常远程到远端服务器,本人亲测有效。