在联网环境下的准备
- 在联网环境下先在一台PC上用vscode的Remote-SSH插件连接到一台服务器上(以ubuntu为例)
- 在PC上的vscode的界面上方,帮助(help)-关于(about),如下图:
- 记录其中的版本号,本例中为1.69.0,以及commit(提交)的值,本例中为92d25e…(注:不同版本号对应的commit不同),备用。
- 到连接好Remote-SSH的ubuntu服务器的~/.vscode-server/bin/路径下,找到与上一步中commit值相同的文件夹(本例中为92d25e…文件夹),用命令zip -r 92d25e.zip 92d25e…/将其压缩成zip文件,取出备用。
- 在vscode的插件官网(https://marketplace.visualstudio.com/)下载两个依赖:Remote - SSH 和 Remote - SSH: Editing Configuration Files的vsix文件,备用。注意这两个依赖的版本要和vscode的版本相符合。
在离线环境建立Remote-SSH连接
- 在离线环境下的PC上,安装与联网环境PC上相同版本的vscode(本例中为1.69.0版本)。
- 在vscode上安装两个vsix文件对应的依赖。
- 将上文中获得的92d25e.zip文件在离线环境ubuntu的服务器的~/.vscode-server/bin/路径下解压,得到92d25e…/目录。
- 在离线环境的PC上使用vscode的Remote-SSH插件功能,即可连接ubuntu服务器。
可能遇到的问题
- 如果遇到【WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED】这个问题,可能是因为PC以前ssh连接过这个IP,但是后来这个IP对应的服务器被更换了,或者被重装系统了。这导致windows记录的该IP对应的信息发生变化。
解决方法:在PC上找到这个文件 C:\Users\<用户名>.ssh\known_hosts ,打开后,删去报错IP对应的那一行,保存。然后尝试重新连接ssh。 - 如果遇到【WARNING: UNPROTECTED PRIVATE KEY FILE!】这个问题,可能是因为vscode觉得连接ssh使用的key文件能被多个用户访问,不安全。需要在key文件的【属性-安全】中删除多余的【组或用户名】,只保留一个。