vscode ssh远程连接失败问题及解决

1. 问题

在用 VSCode 通过 Remote 插件,远程连接到开发服务器时,报错(无法连接)的处理过程。
一般是更新了vscode版本之后出现的,报错的种类有很多,但是只要是你之前能连接上,而最近连接不上了,那基本就是更新了vscode客户端版本,,而服务器没有对应更新版本导致。因为一般服务器都是内部的无法连外网。

2. 解决

更新vscode及插件版本

首先要更新vscode客户端到最新版。
然后对应的remote ssh插件,也要更新到最新版,不然可能不兼容,也会连接不上。

更新服务器端版本

当我们使用 Remote 连接到远程服务器时,在服务器会有一个 .vscode-server 的隐藏目录,该目录的作用,就是存放不同 VSCode 版本的远程连接信息。
找到这个目录

删掉整个.vscodeserver目录,然后重新生成(重新连接,失败后就重新生成了)
这时里面就只有一个bin文件
在这里插入图片描述

如果 VSCode 软件有更新,则会自动去下载对应版本的 vscode-server 软件,此时如果我们的 VSCode 有更新多个版本的话,就会在上述目录看到不同的 HASH 版本。

所以需要下载对应版本的vscode server插件
我们查看客户端版本
在这里插入图片描述
https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable
把上面连接的<COMMIT_ID>替换成 提交的最长的一串号,比如这个版本就得到下面的连接
https://update.code.visualstudio.com/commit:379476f0e13988d90fab105c5c19e7abc8b1dea8/server-linux-x64/stable
直接拷贝到浏览器就自动下载了

插件放到服务器

下载完毕后,放到服务器对应的版本路径下,应该是如下路径
.vscode-server/bin/379476f0e13988d90fab105c5c19e7abc8b1dea8
解压文件到当前目录下
tar -xvzf vscode-server-linux-x64.tar.gz --strip-components 1
解压完毕后,就可以删除多余的压缩包文件
rm vscode-server-linux-x64.tar.gz

重启客户端再次尝试连接就可以了

修改.vscode-server默认目录

vscode打开工作区之后,默认会在home目录下面产生一个.vscode-server文件夹,存放vscode的所有安装文件(插件)。

一般来讲,这个文件夹也就几个G的大小,但是如果是某些home目录space受限的设备(公用服务器),则需要将其更改。

假设你要把.vscode-server安装到一个指定目录/local/my。先进入home目录,先把.vscode-server整体拷贝到/local/my下面,然后删除home已有的.vscode-server文件夹。

然后在vscode上指定路径ip和路径
settings->Extensions->Remote-SSH -> Server Install Path
在这里插入图片描述

这里的key指的是host name,对应的value为你要设置的.vscode-server安装路径。注意,路径必须是绝对路径;而且,以上述为例,必须是"/test/location",而不能是"/test/location/"

参考链接

https://zhaochen.blog.csdn.net/article/details/119549327
https://blog.csdn.net/weixin_43301333/article/details/128503260

猜你喜欢

转载自blog.csdn.net/chongbin007/article/details/126958840
今日推荐