离线安装vscode server以及免密登录参考VSCode Remote 报错无法连接背景代码服务器通常是无网状态并且普通用户的权限很低无法在服务器中安装vscode软件而我们又想要用vscode编辑器此时应该怎么办首先我们需要在本地安装vscode。其次当代码量不大我们可以考虑用samba的方式在电脑中创建网络驱动器然后直接用vscode打开文件夹即可。但是当代码量特别大时并且多人一起办公这时samba的网络环境就不太稳定vscode的索引速度就很慢。这时就需要使用vscode自研的remote-ssh插件来连接也就是在远程服务器安装vscode-server本地通过remote-ssh连接控制。vscode-server安装配置过程1、安装本地vscode重中之重本地安装vscode软件这是开源的直接官方下载即可。官方下载链接vscode官方下载链接2、下载官方vscode-server插件下载链接https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable其中的$COMMIT_ID要与本地vscode的commit id相同这是由于remote-ssh要求本地和服务端的版本号相同新版vscode-server需要同步安装cli插件下载链接https://vscode.download.prss.microsoft.com/dbazure/download/stable/$COMMIT_ID/vscode_cli_alpine_x64_cli.tar.gz新版server插件的下载链接https://vscode.download.prss.microsoft.com/dbazure/download/stable/$COMMIT_ID/vscode-server-linux-x64.tar.gz3、查看vscode本地版本的commit id打开vscode软件点击help - about即可获得commit号如下图如图所示第二步中的链接应该是https://update.code.visualstudio.com/commit:899d46d82c4c95423fb7e10e68eba52050e30ba3/server-linux-x64/stable新版以v1.128.0的COMMIT_IDfc3def6774c76082adf699d366f31a557ce5573f为例https://vscode.download.prss.microsoft.com/dbazure/download/stable/fc3def6774c76082adf699d366f31a557ce5573f/vscode_cli_alpine_x64_cli.tar.gzhttps://vscode.download.prss.microsoft.com/dbazure/download/stable/fc3def6774c76082adf699d366f31a557ce5573f/vscode-server-linux-x64.tar.gz4、在服务器创建vscode-server路径vscode-server路径是自动生成的。在本地vscode中使用remote-ssh登录服务器由于网络问题不能自动下载vscode-server的相关文件导致登录失败。但是会生成.vscode-server路径。remote-ssh登录步骤如下使用快捷键ctrl shift p调出命令窗口选择Remote-SSH: Connect to Host...如果已经设好配置文件这里选择服务器ip即可。否则选择Configure SSH Hosts...进行配置文件选择配置文件如我的配置配件为C:\Users\chao\.ssh\config。其代码如下# 目的主机别名随意设置便于记忆即可 Host vsys # 目的主机ip HostName192.168.56.25# 用户 User mcpang设置remote-ssh插件的配置文件点击左下角齿轮 - Settings - Remote-SSH在Config File中添加刚才的配置文件路径如下图再进行步骤1、2、3进行连接登录5、配置vscode server首先清空服务器上的文件夹.vscode-server/bin/COMMIT_ID/这是第4步登录失败的文件记录没有什么用需要删除。其次将第2步下载好的server插件.tar.gz文件copy到服务器的.vscode-server/bin/COMMIT_ID/文件夹中然后使用tar -zxvf (.tar.gz文件名) --strip-components 1解压即可新版server路径为.vscode-server/cli/servers/Stable-${COMMIT_ID}/servercli路径.vscode-server且需要将cli插件名code-code-${COMMIT}免密登录经过上述配置中已经可以登录到服务器中了但是登录过程中可能会不断的要求输入密码因此为了方便起见我们需要先设置免密登录。打开cmd使用dir查看是否有.ssh文件若没有使用ssh-keygen命令直接回车到底则会自动创建.ssh文件并生成密钥对id_rsa和id_rsa.pub。将公钥id_rsa.pub复制到服务器的.ssh文件夹的authorized_keys中即可若没有该文件authorized_keys可手动创建。最后本地remote-ssh登录成功大功告成