VScode ssh 卡在Copying VS Code Server to host with scp
VSCode ssh 卡在Setting up SSH Host XX:Copying VS Code Server to host with scp
VSCode ssh Server卡在Setting up SSH Host XX: Downloading VS Code Server
解决方案参考自此博文
原因
是因为在远程的服务器下 home/用户名/.vscode-server/bin/f80445acd5a3da24aa209168452a3d97cc32(一串很长的东西,这里叫做commit_id吧)/vscode-servlet.tar.gz 没有下载下来。
这里可以使用ls - la
来进行查看这个文件的大小,看一下是不是没有下载成功。(一般情况都是这个原因,没有下载成功)
解决措施
我们采用手动下载,不让服务器下载。
1. 查看commit_id
cd /home/用户名/.vscode-server/bin && ls
如上图,一共有两个commit_id
,分别是6cba
和d045
开头。
2. 下载vscode-servlet.tar.gz
通过下面的连接进行下载
wget https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable
#(注意把:${commit_id}替换成对应的Commit ID)
注意
直接下载可能会失败,建议开启代理后下载。假设远程服务器已开启了代理,且http
端口为8889
# 为wget启用本地代理
export http_proxy=http://127.0.0.1:8889/
先下载6cba
开头的:
➜ bin wget https://update.code.visualstudio.com/commit:6cba118ac49a1b88332f312a8f67186f7f3c1643/server-linux-x64/stable
--2022-11-02 17:20:33-- https://update.code.visualstudio.com/commit:6cba118ac49a1b88332f312a8f67186f7f3c1643/server-linux-x64/stable
正在连接 127.0.0.1:8889... 已连接。
已发出 Proxy 请求,正在等待回应... 302 Found
位置:https://az764295.vo.msecnd.net/stable/6cba118ac49a1b88332f312a8f67186f7f3c1643/vscode-server-linux-x64.tar.gz [跟随至新的 URL]
--2022-11-02 17:20:33-- https://az764295.vo.msecnd.net/stable/6cba118ac49a1b88332f312a8f67186f7f3c1643/vscode-server-linux-x64.tar.gz
正在连接 127.0.0.1:8889... 已连接。
已发出 Proxy 请求,正在等待回应... 200 OK
长度: 53428382 (51M) [application/gzip]
正在保存至: “stable”
stable 100%[===================>] 50.95M 10.9MB/s in 5.2s
2022-11-02 17:20:39 (9.71 MB/s) - 已保存 “stable” [53428382/53428382])
➜ bin ls
stable
➜ bin x stable
extract: 'stable' cannot be extracted
通过命令行输出发现,下载的文件名为stable
,且无法解压
x
是zsh的解压命令
观察到,下载时其实重定向到了vscode-server-linux-x64.tar.gz
的下载链接:https://az764295.vo.msecnd.net/stable/6cba118ac49a1b88332f312a8f67186f7f3c1643/vscode-server-linux-x64.tar.gz
因此,我们直接通过重定向链接下载:
# 删除/home/用户名/.vscode-server/bin中所有的文件
cd ~/.vscode-server/bin && sudo rm -r ./*
# 下载6cba开头的vscode-servlet.tar.gz
wget https://az764295.vo.msecnd.net/stable/6cba118ac49a1b88332f312a8f67186f7f3c1643/vscode-server-linux-x64.tar.gz
# bash解压可以用:tar -zxvf vscode-server-linux-x64.tar.gz
x vscode-server-linux-x64.tar.gz
# 改名为对应的Commit ID
mv vscode-server-linux-x64 6cba118ac49a1b88332f312a8f67186f7f3c1643
# 删除压缩包,重新下载另外一个Commit ID的压缩包
sudo rm -r vscode-server-linux-x64.tar.gz
wget https://az764295.vo.msecnd.net/stable/d045a5eda657f4d7b676dedbfa7aab8207f8a075/vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64 d045a5eda657f4d7b676dedbfa7aab8207f8a075
sudo rm -r vscode-server-linux-x64.tar.gz
重新启动vscode进行ssh即可。