vscode配置远程开发环境

  • 2019 年 12 月 20 日
  • 笔记

一、为什么需要配置远程开发环境

1.1、编辑IDE和开发环境的系统隔离

在远端的服务器Linux系统没有IDE界面,vscode界面部署在个人电脑。通常大多数的开发和编辑环境都是系统隔离的。

比如说你用win10机器开启ssh客户端连接CentOS开发机,这时候你的编辑IDE和开发环境是隔离的。表现在你在代码编辑不会实时刷新到开发环境进行编译测试验证。

当然假如个人电脑使用Win10,也可以用使用win10提供的wsl(Window Subsystem for Linux)。但是此时也是vscode不能像随意打开本地文件夹一样打开WSL的代码。

1.2、系统隔离打通

其实打通系统隔离的方法有挺多的。比如说用samba共享服务器,还比如说用git做同步,编辑这边提交更改,开发环境那边pull下来。

如果这两个办法都不能用呢,比如远程开发机在外网ip,或者做了机器隔离,或者只开通了ssh接口登录。所以这时需要做远程开发环境的配置SSH通道开发。

二、配置远程开发环境(SSH通道)

2.1 插件安装

Remote-Development包括了连接SSH开发机、WSL、Container的套件。在vscode插件栏中搜索remote。

其中包括Remote-WSL、Remote-SSL、Remote-Container。这三个套件可以不用单独安装,只需要下载安装Remote Development,就打包了以上三个插件。

图1、remote插件

安装完成之后在状态栏出现这个小图标。点击可以唤醒远程命令弹窗。

图2、远程开发图标
图3、远程开发命令弹窗

这里以最常用的连接ssh远程开发机来示范怎么配置环境

2.2 Remote SSH连接

图4、远程SSH命令弹窗

2.2.1 通过用户密码登录开发机

在远程SSH命令弹窗选择“Remote-SSH: Connect to Host…”。在接下来的窗口输入“用户名@主机ip”。需要注意的是ip右边不要保留空格。比如下面我输入了[email protected]连接本地的一台vm虚拟机。

图5、密码登录和公私钥登录

紧接着vscode会启动win10的ssh客户端,对远端发起ssh连接。在接下来的弹窗中,输入密码。

图6、输入密码弹窗

可能会弹出这个首次指纹不匹配确认(因为首次登录,服务器没有存储客户端登录的验证指纹),需要手动确认的弹窗,点击continue即可。

图7、登录指纹手动确认弹窗

登录成功后,状态栏会出现远端ip机器

图8、登录成功的状态栏

2.2.2 通过公私钥登录

公私钥的登录原理是在客户端机器和服务端机器建立ssh通道。这个通道建立依赖于非对称加密原理。在服务端配置公钥,客户端持有私钥。只有持有私钥的认证客户端(或者持有私钥的用户)才能够登录服务器。公私钥替代密码的方式便是这个连接的特性。

生成一对公私钥:

图9、生成一对公私钥

把产生的公钥对拷贝安装到自己的本机,ssh-copy-id [email protected]ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id安装到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys。

下载私钥到你的客户端编辑机器。并存放在系统的某个路径。

接下来就开始配置ssh连接配置。在原来那个界面选择Add New SSH Host.

图10、公私钥登录

接下来选择一个config文件。点击会打开这个config文件。

图11、配置文件列表

编辑config文件。按照以下配置,或者自定义选项。

图12 ssh公私钥配置

保存编辑这个文件,接下来重新打开连接弹窗,就会出现这个ssh配置。

图13 远程ssh配置

已经连接上这个hostname的远程开发机器

图14、连接上的状态栏

2.3打开远端机器文件夹

连接上的窗口会出现类似的界面

图15、远程目录

三、进阶开发

附、扩展知识