前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vscode配置远程开发环境

vscode配置远程开发环境

原创
作者头像
mariolu
发布2019-12-20 21:06:29
4.1K0
发布2019-12-20 21:06:29
举报
文章被收录于专栏:CDN及云技术分享

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

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插件
图1、remote插件

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

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

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

2.2 Remote SSH连接

图4、远程SSH命令弹窗
图4、远程SSH命令弹窗

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

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

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

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

图6、输入密码弹窗
图6、输入密码弹窗

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

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

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

图8、登录成功的状态栏
图8、登录成功的状态栏

2.2.2 通过公私钥登录

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

生成一对公私钥:

图9、生成一对公私钥
图9、生成一对公私钥

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

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

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

图10、公私钥登录
图10、公私钥登录

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

图11、配置文件列表
图11、配置文件列表

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

图12 ssh公私钥配置
图12 ssh公私钥配置

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

图13 远程ssh配置
图13 远程ssh配置

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

图14、连接上的状态栏
图14、连接上的状态栏

2.3打开远端机器文件夹

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

图15、远程目录
图15、远程目录

三、进阶开发

附、扩展知识

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、为什么需要配置远程开发环境
    • 1.1、编辑IDE和开发环境的系统隔离
      • 1.2、系统隔离打通
      • 二、配置远程开发环境(SSH通道)
        • 2.1 插件安装
          • 2.2 Remote SSH连接
            • 2.2.1 通过用户密码登录开发机
            • 2.2.2 通过公私钥登录
          • 2.3打开远端机器文件夹
          • 三、进阶开发
          • 附、扩展知识
          相关产品与服务
          云服务器
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档