如同本地开发! VS code远程linux开发指南

1,696 阅读3分钟

前言

事情大概是这样:前段时间刚接手了一个新项目,由于一些历史原因,md文件中只写了linux运行环境的描述。看见公司的大佬们都如鱼得水的在linux下进行开发,小弟我只能留下没技术的眼泪~

没技术的眼泪.jpeg

经过了一段时间的痛苦以后,被各种IDE开发工具和语法提示惯坏的我,冒出了一个想法:IDE可以远程到服务器进行开发吗?

乐观坚韧.png

后来发现是我孤陋寡闻了,这个技术非常成熟已经有了,就是我们非常熟悉的vscode。想必大家都知道vscode拥有非常丰富的扩展市场,其中本文使用到由微软提供的Remote-ssh

准备工作

一、装有vscode的主控

我这里使用的是我日常开发的机器,上本来就装有vscode(没有的同学请自行安装)。安装完毕后我们打开插件市场进行搜索Remote-ssh安装,请认准Microsoft出品哈。

remote-ssh.png

二、同一域网下的linux

具体看大家的工作需要,docker或物理机均可。本文使用的是Multipass,对Multipass不了解的小伙伴可以看我上期文章《使用轻量级虚拟机Multipass安装运行ubuntu》。

打开命令行,创建一个名为test-remote的ubuntu镜像

multipass launch --name test-remote

或使用以下命令按需分配机器配置

multipass launch -n test-remote -c 4 -m 4G -d 40G
  • -n, --name: 名称
  • -c, --cpus: cpu核心数, 默认: 1
  • -m, --mem: 内存大小, 默认: 1G
  • -d, --disk: 硬盘大小, 默认: 5G

安装完成以后我们输入一下命令进入镜像

multipass shell test-remote

输入.png

安装完毕,且已经进入虚拟机内部了!其他的各位同学自行展开吧。

三、建立链接

接下来是重点,我们建立连接是通过密钥方式进行通讯。

创建密钥

使用ssh-keygen命令创建的密钥,会在本地~/.ssh/的目录内生成两个文件id_rsa-remote-ssh和id_rsa-remote-ssh.pub,我们要部署的是id_rsa-remote-ssh.pub公钥内容。

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa-remote-ssh
  • -t 指定要创建的类型
  • -b 密钥长度
  • -f 指定用来保存密钥的文件名
  • id_rsa-remote-ssh 名字可以随意定义

上传公钥到远程服务器

mac/linux通常在~/.ssh/id_rsa-remote-ssh.pub。

windows通常在c盘用户目录下的.ssh文件夹id_rsa-remote-ssh.pub。

复制id_rsa-remote-ssh.pub中的内容,我们切换回虚拟机内

multipass shell test-remote

进入虚拟机的~/.ssh目录并创建authorized_keys文件

cd ~/.ssh && touch authorized_keys

将主机的id_rsa-remote-ssh.pub 中的内容复制并保存进authorized_keys(multipass也会与主机之间建立一个authorized_keys,故存在authorized_keys大可不必惊慌失措,我们进行追加即可)

sudo vi  ~/.ssh/authorized_keys

创建vscode的连接配置

vscode安装完Remote-ssh后会多出一个电脑样式图标,我们点开(请忽略我已经配置的测试机)

图标.png

点击配置按钮,选择配置文件位置

WX20210606-150018@2x.png

选择完成后开始配置

Host xxx                              # xxx 自定义连接名称
    User          ubuntu              # root 远程服务器账户名称
    HostName      47.92.xxx.18x       # 47.92.xxx.18x 远程服务器地址
    Port          22                  # ssh端口
    IdentityFile  ~/.ssh/id_rsa_xxxx  # ~/.ssh/id_rsa_xxxx 本地密钥所在位置

如果你想连接多台远程服务器,继续在后面追加配置内容即可 贴一下我多台的配置 多台配置.png

连接试试吧! image.png

初次连接会让你确认授权,直接continue WX20210606-151243@2x.png

好了,大功告成,已经成功连接到虚拟机上了!

image.png

初体验总结

整个的初体验对我来讲还是比较顺利的,整个的开发就像是在本地一样。安装完成以后有些语法提示消失了,我们需要重新在目标机器上安装一下插件。 image.png

祝大家生活愉快~

开始搬砖!