问题描述
使用vscode ssh连接到linux服务器,一直可以正常使用,但是突然就连接失败了,先是报XHR failed,然后一直提示输入密码,此时打开终端查看一下output,提示:
``
Acquiring lock on /home/ubuntu/.vscode-server/bin/c3f126316369cd610563c75b
Installation already in progress…
If you continue to see this message, you can try toggling the remote.SSH.useFloc
``
原因是:vscode自己更新了,导致原有的服务器上 ~/.vscode-server
中的文件过期了,也有可能是有人修改了服务器上的~/.vscode-server
,如果服务器一直连接外网的,那么vscode会自己下载,如果服务器没有连接外网,就出现了我的情况,一直连接不成功。
如何解决
- 首先我们删除
C:\Users\Administrator\.ssh\known_hosts
里出错服务器的相关信息; - 查看刚刚报错信息里有关
.vscode-server/bin/c3f126316369cd610563c75b
的部分,然后我们复制链接到网页手动下载https://update.code.visualstudio.com/commit:c3f126316369cd610563c75b1b1725e0679adfb3/server-linux-x64/stable
,注意那一串乱码一样的部分要替换成自己的文件名,这个步骤如果服务器联网就会自己执行,但此时明显需要我们来手动执行了; - 把下载的包放到服务器~/.vscode-server/bin/c3f126316369cd610563c75b/;
- tar -vxzf vscode-server-linux-x64.tar.gz -C ./
- mv vscode-server-linux-x64/* .
- 再用vscode连接即可