离线安装vscode server以及免密登录
背景
代码服务器通常是无网状态,并且普通用户的权限很低,无法在服务器中安装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要求本地和服务端的版本号相同
3、查看vscode本地版本的commit id
打开vscode软件,点击 help -> about 即可获得commit号,如下图
如图所示,第二步中的链接应该是:https://update.code.visualstudio.com/commit:899d46d82c4c95423fb7e10e68eba52050e30ba3/server-linux-x64/stable
4、在服务器创建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
HostName 192.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
解压即可
免密登录
经过上述配置中,已经可以登录到服务器中了,但是登录过程中可能会不断的要求输入密码,因此,为了方便起见,我们需要先设置免密登录。
- 打开cmd,使用dir查看是否有.ssh文件;若没有使用ssh-keygen命令,直接回车到底,则会自动创建.ssh文件,并生成密钥对id_rsa和id_rsa.pub。
- 将公钥id_rsa.pub复制到服务器的.ssh文件夹的authorized_keys中即可,若没有该文件authorized_keys,可手动创建。
最后
本地remote-ssh登录成功,大功告成!