错误情况
ping服务器的ip可通并且使用terminal可以ssh连接到远程服务器。但使用vscode的remote-ssh时,在「输出」栏出现了一直报 Waiting for server log… 的情况!
解决方法一
重置服务器设置,包括以下手段:
1.清理服务器端的vscode-server
#首先打开vscode,并通过下面快捷键打开命令面板
Ctrl+Shift+P
#随后搜索使用即可
Remote-SSH:Kill VsCode Server on Host
当再次使用vscode连接远程服务器时,会发现vscode在重新下载以及安装vscode-server。
2.重置本地的客户端设置
在本地文件夹打开路径C:\Users\本机用户名\.ssh
删掉下面两个文件:
随后重新启动vscode
解决方法二(若版本为1.86!!)
最近vscode发布了1.86版本,该版本提高了对glibc的要求,导致了旧版本的linux发行版无法继续使用remote-ssh来连接了。如cenos7
、Ubuntu 18.04
。
下面贴一段官方的更新说明:
In this milestone, we have updated the toolchains to build our desktop client. From this release onwards, VS Code desktop is only compatible with Linux distributions based on glibc 2.28 or later, and glibcxx 3.4.25 or later, such as Debian 10, RHEL 8, or Ubuntu 20.04.
If you are unable to upgrade your Linux distribution, the recommended alternative is to use our web client. If you would like to use the desktop version, then you can download the VS Code release 1.85. Depending on your platform, make sure to disable updates to stay on that version. A good recommendation is to set up the installation with Portable Mode.
然而vscode没给任何说明,直接自动更新让我浪费了一整晚才找到原因,这里分别说明以下官方的两个方法都如何实现:
1.回退版本到1.85.2,同时永久禁用更新。
- 首先打开点击此处,下载旧版本的vscode
- 安装完成后,建议先断开网络操作(因为它可能会迅速自动更新),点击左下角「设置」,随后按下图将红框内设置修改为禁止更新即可。
2.下载官方推荐的Portable Mode。流程如下:
- 点击下载链接下载1.85.2版本的zip包,下载后解压到本地自己选择的目录下
- 进入目录,新建data文件夹
- 拷贝%APPDATA%\Code目录到data文件夹下,然后重命名为user-data
- 拷贝%USERPROFILE%.vscode\extensions目录到data文件夹下
- 在data文件夹下新建目录tmp
- 然后给Code.exe创建一个快捷方式,使用时,点击该快捷方式即可。
上面流程引用于某乎佬:https://zhuanlan.zhihu.com/p/681066025
此时,再进入vscode的「拓展」中,将remote-ssh的重新加载降级即可。
官方回应及态度
分享github的issue中有关该问题的讨论:
问题讨论:https://github.com/microsoft/vscode/issues/203967
抱怨连连:https://github.com/microsoft/vscode/issues/203375