Windows下无互联网(离线)配置VSCode远程连接Linux

图片来源:《魔法使之夜》游戏截图

无互联网指使用VSCode的Windows和Linux未连接互联网,但至少能通过某些途径把下载好的安装包传到Windows里安装

安装官方Git客户端

访问https://git-scm.com/download/windows下载git客户端并安装,安装这个主要是偷懒,要用的是“Git Bash”和SSH相关工具,

安装VSCode

Windows客户端安装

访问https://code.visualstudio.com/Download下载VSCode客户端并安装

安装Remote-SSH插件

访问https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh, 界面右边可以下载插件安装包

进入VSCode的插件界面(左边工具栏第5个),直接用鼠标把插件安装包拖进去安装,或者点击“…”,选择“Install from VSIX…”安装

其他插件

大部分插件到https://marketplace.visualstudio.com/上手动下载安装即可,一些插件的windows端和linux端程序有一定区别(比如微软官方的C/C++插件),请根据需要下载不同版本

Linux服务端安装

在有互联网的情况下,客户端第一次连接会自动给Linux下载服务端程序,但没有互联网的情况下,需要手动完成

获取服务端安装包

首先需要尝试第一次连接,虽然必定会失败,但可以从连接报错信息看到下载服务端程序所需要的“commit id

按快捷键“Ctrl + Shift + P ”, 搜索“connect”,选择“Remote-SSH:Connect Current Window to Host…”

添加后,再重复一遍操作,按快捷键“Ctrl + Shift + P ”, 搜索“connect”,选择“Remote-SSH:Connect Current Window to Host…”

此时会多一个刚刚添加服务器,选择之后按提示操作即可

第一次连接一定会失败,可以从连接报错信息看到之后所需要的“commit id”, 同时在Linux端生成的用户根目录下生成“.vscode-server”文件夹,“.vscode-server/bin/”下会有一个以“commit id”值为文件名的文件夹,如果没有生成这个文件夹,请把上面的连接步骤重复多试几次

VSCode客户端连接报错信息
在Linux端生成的以commit id为文件名的文件夹

根据刚刚的报错信息,我使用的是stable版,用报错信息里的“commit id替换下面连接里的“$COMMIT_ID”,直接访问下载服务端程序(vscode-server-linux-x64.tar.gz)

https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable

如果是insider版,把url最后的stable换成insider

https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/insider

安装服务端程序

打开之前安装git时附带的“Git Bash”

把刚刚下载的服务端程序传到linux上

# 进入存放服务端程序的目录,我直接放在C盘根目录了
cd /c
# 通过scp把vscode-server-linux-x64.tar.gz传到linux, 记得修改登录用户名和服务器IP
scp vscode-server-linux-x64.tar.gz [email protected]:.vscode-server/bin/

ssh连接到linux上

ssh [email protected]

在linux上执行

cd ~/.vscode-server/bin/
tar xf vscode-server-linux-x64.tar.gz
#记得替换e7f30e38c5a4efafeec8ad52861eb772a9ee4dfb为你的commit id值
mv e7f30e38c5a4efafeec8ad52861eb772a9ee4dfb e7f30e38c5a4efafeec8ad52861eb772a9ee4dfb.bak
mv vscode-server-linux-x64 e7f30e38c5a4efafeec8ad52861eb772a9ee4dfb
rm vscode-server-linux-x64.tar.gz

完成后,VSCode再次连接就能连上了

配置使用SSH密钥自动认证

使用密码连接的话,VSCode每次Reload或者打开新窗口都要重新输入密码,比较麻烦,可使用密钥自动认证

打开之前安装git时附带的“Git Bash”

生成密钥

ssh-keygen.exe

把公钥传到linux服务器

ssh-copy-id [email protected]

完成后本机所有对该服务器的ssh连接应该都能自动认证


参考:

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注