正文
- 目前没有找到什么好的解决办法,可能是我vscode的ssh拓展版本太新/太久了
- 一般都是更换一下版本
- 实在不行就跑一下下面的脚本,把vscode-server的数据删了重装
目前vscode版本为:
在windows终端cmd输入: Code --version
Version: 1.93.1 (system setup)
Commit:38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40
Date: 2024-07-09T22:06:49.809Z
Electron: 29.4.0
ElectronBuildId: 9728852
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Windows_NT x64 10.0.22631
目前我的版本为: 17baf841131aa23349f217ca7c570c76ee87b957
mkdir -p ~/.vscode-server/bin
rm -rf ~/.vscode-server/bin/*
cd ~/.vscode-server/bin
COMMIT_ID=17baf841131aa23349f217ca7c570c76ee87b957
wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/$COMMIT_ID/vscode-server-linux-x64.tar.gz --no-check-certificate
tar -xvf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64 $COMMIT_ID
我发现有一个比较玄学的现象,如果上面的两种方法都尝试过了,你可以再试一下玄学法:
每次打开服务器时,vscode会保留上一次未关闭的文件,如果你把这些文件都关闭了,说不定可以提高vscode打开服务器的速度。
如果不想删除bin目录下的文件,那么可以执行下面的:
cd ~/.vscode-server/bin
COMMIT_ID=4437686ffebaf200fa4a6e6e67f735f3edf24ada
wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/$COMMIT_ID/vscode-server-linux-x64.tar.gz --no-check-certificate
tar -xvf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64 $COMMIT_ID
更加玄学的方法
有一次我更新完vscode,然后remote-ssh插件尝试过最新的10个版本了,他都没办法脸上服务器。
然后我 ssh-keygen -R ip
就这么一下,重新配置了一下本地的 known_host 文件,然后再用vscode就能连上了。
如果出现了 Host xxxx not found in C:\\Users\\jinqg/.ssh/known_hosts
,
那么你可能之前都没有ssh登陆过(mobaxterm等工具不算?),现在你需要 ssh user@ip
这样就行了
终极办法
如果上面的方法都不行,就拿其他服务器的 .vscode-server
目录传过去,大概率能用
MobaXterm怎么没法免密登录?![
- 原来是忘记设置使用密钥
可能是服务器ssh版本更新了,或者重启了
这个时候mobaxterm是能够连接上去的,但是ssh Guanjq@ip
是会报错的:
这个时候不要不停尝试retry重连,如果三次连不上,就要检查是否开了代理,然后再检查就要用上面的脚本,如果还不行,就要检查一下ssh连上没有。
Server returned 404错误
明明mobaxterm能够连接,但是vscode反馈无法下载vscode-server,上面的方法都无法解决。
实在不行,选择回退ssh版本,然后就行了。
- 但是,上一次回退完之后,这一次又出现了同样的问题,上面的方式都没办法解决。
- 参考这一篇文章,vscode和我同一个版本,我现在决定升级vscode
- https://blog.csdn.net/eliforsharon/article/details/140355090
当然了,升级完之后没有报 server not found 的错误了,但是却变得连不上,一直卡在Copy的地方,这一次我换了0.106.5的ssh插件版本,又可以了????
所以以后连不上要一直尝试不同的版本,直到连上嘛?