引言
对于windows下的用户需要Linux下的编程环境,而又不想装双系统。可以采用远程Linux的方式来弥补,远程的Linux可以是你在本机上开的虚拟机,也可以是远端的服务器,看个人情况来进行选择。本人采用的是使用VirtualBox来创建一个Linux虚拟机,然后在windows物理机上使用远程来开发。
配置远程开发
首先来进行virtualbox的设置,设置->网络->高级->端口转发
请先在虚拟机上装上ssh服务,我用的Ubuntu,直接用apt方式进行安装
sudo apt install openssh-server
查看虚拟机上的ssh服务是否激活
sudo systemctl status ssh
如果显示active(running)
则显示ssh服务正常运行
正常来说通过ssh远程登陆都可通过下面指令来完成
ssh username@ipaddr -p port
# username : 对应linux上的用户名
# ipaddr : 对应虚拟机上的ip地址
# port : 端口号
但是使用virtualbox有点不一样,需要通过端口转发,实际填写的ip地址与平常有所出入,在windows下使用终端输入以下命令(每个人的参数都不一样,请自己根据实际情况填写)
ssh ztq@127.0.0.1 -p 6666
如果登录成功,那么就说明ssh操作成功,接下来只需要配置vscode的远程操作了。
在vscode上下载remote-ssh这个插件,安装成功后,编辑器的最左边会出现一个电脑图标。按下F1键,搜索ssh configuration,选择配置文件的地址,按照上面命令行参数来填写配置文件
填写完成后,右键左边的电脑图标,远程连接,顺利的话会让你输入虚拟机系统的密码来进行远程登录。
但我们会碰到一个问题,也就是我每次跟换文件夹或者重新登陆都需要输入密码,很不方便,如果能进行免密操作就好了,这就是接下来需要解决的问题
首先我们在Windows下下载Git Bash,下载完成后打开,然后输入以下命令
ssh-keygen ## 一直回车知道结束
ssh-copy-id -i .ssh/id_rsa.pub username@hostname -p port ## 自己根据自己的实际参数填写
如果你在Git Bash里面获取到了如下类似回复,说明操作成功
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
ztq@127.0.0.1‘s password:
?
Number of key(s) added: 1
以后无论是远程切换文件夹还是重新登录都不在需要密码,极其舒适。