vscode无法ssh连接远程服务器

原因

你的远程服务器无法下载vscode server

这个问题和直接在vscode官网下载vscode特别慢有些类似(官网链接没有用中国区的cdn因此特别慢还会挂掉,更具体的描述可以移步here)

解决

我们手动下载vscode的server放在服务器上即可。步骤为

  1. 下载当前版本server
  2. 查看server的commit id
  3. 解压server到指定文件夹

下载server

需要注意版本
如果是stable版本点击下面链接:
https://update.code.visualstudio.com/latest/server-linux-x64/stable
如果是insider版本点击下面链接:
https://update.code.visualstudio.com/latest/server-linux-x64/insider

查看server的commit id

方法一

vscode的远程server存放的路径为~/.vscode-server/bin/[commit id]/。我们要解决的就是查看commit id。
在正常登录的情况下vscode的output下输出类似下图(会出现这个commit id并在之后多次出现
在这里插入图片描述
我们需要的就是这个id了。

方法二

在首次连接服务器的时候,使用的无疑是当前的最新版本commit id。因此可以通过如下网址来得到commit id: https://update.code.visualstudio.com/latest/server-linux-x64/stable

如在2021/7/29日,将上网址输入浏览器地址栏会得到下图:在这里插入图片描述
https://vscode.cdn.azure.cn/stable/c3f126316369cd610563c75b1b1725e0679adfb3/vscode-server-linux-x64.tar.gz
这里stable/至/vscode-server-linux之间即为commit id

方法三
  1. 在shell中连接服务器
  2. ls ~/.vscode-server/bin

此时你可能会看到多个以commit id命名的文件夹,你需要找到当前的commit id。对每个文件夹使用ls命令,如果得到的内容和下图不类似
在这里插入图片描述
那么很可能就是当前的commit id(这个文件夹下应该有vscode-server-linux-x64.tar.gz,这是个没下载完成的压缩文件)

解压server到指定文件夹

  1. 将服务器的对应文件夹删除。shell中登入服务器,键入命令rm -r ~/vscode-server/bin/
  2. 将本地下载好的vscoder server上传到服务器,可以使用scp上传
  3. shell中登入服务器,解压伤上传的vscode server
    tar -zxvf drkg.tar.gz
  4. 移动到指定文件夹
    mv vscode-server-linux-x64 ~/.vscode-server/bin/commit_id

注意替换上面第三步的commit_id!

其他

如果上面方法不成功,查看commit id是否正确。如果不正确,下载相应版本的commit id并解压至对应文件夹即可。
https://vscode.cdn.azure.cn/stable/commit_id/vscode-server-linux-x64.tar.gz
找到正确的commit_id填入上面网址进行下载。然后解压到正确的文件夹。

Logo

鸿蒙生态一站式服务平台。

更多推荐