参考资料:https://zhuanlan.zhihu.com/p/104131448
https://www.cnblogs.com/dev-sy/p/12893012.html
前言
- 在平时的服务端开发中,都是先在本地代码仓库写好代码,然后提交到远端仓库,再登录到服务器拉取远端代码,进行编译调试工作,这个操作非常繁琐和麻烦。
- 那有没有更便捷的方法的,肯定是有的,作为码农怎么能让自己陷入这种繁琐的重复动作中呢。
- 很多小伙伴首先想到是xshell远程到服务器通过vim进行代码开发,这对于非常熟悉vim编辑器的大佬来说毫无难度,但对于大部分人来说通过vim进行开发既没有代码提示、写起来也很不方便。
- 下面就介绍一种写服务器代码也像写本地代码一样方便快捷的方式:通过vscode远程连接服务器进行开发
vscode
- vscode是微软开发的一款轻量级的代码开发IDE,得益于其提供的插件机制,目前vscode上拥有非常多好用的插件。话不多说,vscode的牛逼之处大家自行百度,下面将介绍怎么通过vscode进行远程开发。
远程开发
首先,你需要下载安装vscode ide,安装过程大家自行百度。
- 安装 ssh-remote插件
- 打开vscode,点击左侧的插件选项,输入remote-ssh
- 打开vscode,点击左侧的插件选项,输入remote-ssh
- 安装好remote-ssh后,在左侧菜单栏就会有一个远程资源管理器项
- 点击该菜单项后,点击设置按钮,进行我们远程主机的配置
- 在命令输入框中选中下列项
- 在配置文件中输入下列信息:
- Host:自定义名称
- HostName:远程主机的ip
- User:远程主机的用户名
- 填写完成后左侧就会出现你的远程主机啦
- 在你的远程主机项右键即可连接到远程主机
- 点击connect后,需要选择远程主机的平台,这里我们选择linux,大家按需选择即可
- 选完平台后会弹出密码输入框,输入远程主机密码即可
- 输入正确密码后即可成功连接,此时点击左侧的资源管理器,可以看到已成功连接到远程主机了,我们就可以通过vscode打开远程主机的文件夹了
- 找到代码仓库所在的文件夹,就可以和本地仓库一样愉快的写代码了
- 至此,我们就可以在本地直接编写远程服务器代码了,到这里我们还需要通过输入密码来访问云主机,下面通过配置SSH秘钥来避免每次都需要输入密码这个麻烦。
- 点击该菜单项后,点击设置按钮,进行我们远程主机的配置
配置SSH密码
- 首先生成SSH秘钥
- 在windows powershell中看下是否安装,如没有则需要安装
- 输入下列命令生成ssh秘钥
ssh-keygen -t rsa
- 执行命令之后一直回车就行,我这里之前已经生成过了,所以选择覆盖
- 生成完成后,可以看到.ssh目录下有这几个文件,需要将id_rsa.pub拷贝到服务器上。这里通过ssh命令传输过去
- ssh传输文件到服务器命令
scp id_rsa.pub youraccount@yourip:/var/www/
- 然后将改秘钥拷贝到服务器的~/.ssh/authorized_keys 文件中
cat id_rsa.pub > authorized_keys
- 下面修改/etc/ssh/sshd_config文件
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile ~/.ssh/authorized_keys
- 重启ssh服务
service sshd restart
- 通过ssh命令登录查看是否成功配置免密登录
ssh youraccount@yourip
- 如果登录失败可查看参考文档2解决
- 下面就可以在vscode免密登录了