vscode利用ssh服务远程连接虚拟机、服务器进行开发的完美教程
此文以虚拟机为例,服务器的操作相同。需要在本机端安装git与vscode。
在进行嵌入式Linux开发的时候,为了方便,通常在Windows上使用代码编辑器编辑代码,交叉编译工具在Linux虚拟机或者服务器上,在开发期间需要不停的进行来回的文件拷贝等一系列操作。该插件比较完美的解决了在windows下开发linux程序的问题,vscode可以直接通过SSH打开远程服务器的目录,操作文件,执行命令。
一、在远端安装并启动ssh服务
#安装
sudo apt-get install -y openssh-server
#启动
sudo /etc/init.d/ssh start
#检查服务是否启动成功
ps -e|grep ssh
二、在本地(windows端)生成ssh-key
这步操作之前需要先在本地安装git,安装过程略
ssh-keygen.exe –t rsa –C “xiaoming@examples.com.cn”
生成的ssh-key默认存放路径在C:Usersyourusername.ssh
三、设置vscode免密连接虚拟机
在本地存放ssh-key的路径下复制一份生成的公钥(默认名为id_rsa.pub)并将其重命名为authorized_keys,然后将该文件上传到虚拟机的~/.ssh目录(新安装的虚拟机可能会没有这个目录,可以自己建一个,也可以在虚拟机里运行ssh-kengen一路回车会自动给你新建这个文件夹的),现在就已经满足了免密登录的条件了
四、安装vscode的ssh插件
首先先安装相关的插件
- Remote - WSL
- Remote - SSH
- Remote - Container
- Remote Development
安装完插件后就可以连接虚拟机了
五、利用插件连接虚拟机
在vscode任意界面按下快捷组合件【shift + ctrl + p】,输入ssh ,选择Remote-SSH:Connect to Host——>Configure SSH Hosts——>C:Usersyourusername.sshconfig
#Host随意命名,只做显示用;HostName是你虚拟机的ip;User是你虚拟机的用户名
Host Ubuntu
HostName 192.168.1.1
User 小明
IdentityFile "C:UsersAdministrator.sshid_rsa"
然后,重新按下快捷组合件【shift + ctrl + p】,输入ssh ,选择Remote-SSH:Connect to Host,选择你刚刚填写的Host名字。即可免密连接上虚拟机。连上之后的操作与你本地的操作都是一样的。可以愉快的进行开发工作了!
PS:注意这里的 IdentityFile 文件最后是私钥,不是公钥。
也可直接点击vscode左下角的【><】图标,连接ssh。就不上图了。
六、重新安装插件
之前虚拟机里vscode所装的插件是不能直接使用的,需要用vscode连接上远端后重新在远端安装一次,例如:
- Cmake
- Cmake Tools
- C/C++
- C++ Intellisense
- 等等
在扩展栏里远端安装的会显示为【SSH:Host 已安装】