问题描述
`重启了一下电脑,发现vscode的ssh远程连接连不上所有的服务器了,提示远程主机可能不符合glibc和libstdc++ VS Code服务器的先决条件,
原因分析:
看了半天网上的攻略,终于找到一个,可能是这个更新是最近刚更的,很多人没升级也就没这个问题,所以网上的回答也少。
总结就是版本太高了,升级到了1.86,服务器上的配套跟不上,服务器又不可能改,就只能降本机的vscode版本了,降到1.85,ssh的版本可能也要降,但是千万千万千万不要选0.106这几个版本,往前选
解决方案:
https://code.visualstudio.com/updates/v1_85
这是1.85版本的vscode下载地址,选择自己需要的版本,我就下载了mac通用版本,下载好之后解压,mac版本直接覆盖到application里就可以了,反正我的是直接覆盖了,并且没有影响各种环境啥的,打开vscode除了版本换了,其他都和原来一样,到这里还算顺利。
问题来了。。。。。。。
重启了vscode之后还是ssh连接不上,想着是不是ssh的版本也升级了,就换了个ssh插件的版本(说到这,就不得不承认我倒霉了,我换的ssh版本是0.106.0,坑爹的版本,其实只要换0.106.0之前的版本应该都没有后面的各种问题了,如果还有问题就尝试一下后面的这些方法吧),还是连不上,一直卡在初始化或者下载vscode这里
1、我用finalshell软件可以连接上服务器,也可以选择其他的方式,主要是看一下上面的文件
2、cd ~/.vscode-server/bin
看一下这个文件夹下有没有东西,有的话就把文件夹的名称都先保存下来,都是连接过这个服务器的主机(主要是为了找到自己主机的commit ID)
注:有的攻略里把这些文件夹都删了,重新建立连接就可以了,可以尝试一下,但我的不行,所以先把名称都记一下再删除。。
3、上图连接失败的时候,点击括号里面的details,会显示报错信息,在里面找一下,有一长串经常出现的字符串,类似下图的,应该也会出现在第二步你看到的那些文件夹文字里,这就是你主机的commit ID
4、https://update.code.visualstudio.com/commit:{commit ID}/server-linux-x64/stable
在这个网址下面下载,{commit ID}替换成上面找到的commit ID,括号记得去掉,得到下面这个压缩包
5、下载的压缩包vscode-server-linux-x64.tar.gz放到~/.vscode-server/bin目录下
6、命令行分别执行下面的代码,{commit ID}替换成上面找到的commit ID
cd ~/.vscode-server/bintar -zxf vscode-server-linux-x64.tar.gzmv vscode-server-linux-x64 {commit_id}
~/.vscode-server/bin文件夹里就有一个文件夹,名字是主机的commit ID
7、重新连接应该就可以了
搞了一天终于成功了,期间还有些问题忘记了,因为ssh版本的bug一直连不上,还删过.vscode-server文件夹,又报了vscode ssh: Resolver error: Error: XHR failedscode这个错,从服务器别的账户下复制了这个文件夹进去,重新上面的56步骤才解决。。。坑真多啊