VSCode使用SSH免密登录虚拟机设置

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:\Users\yourusername\.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:\Users\yourusername\.ssh\config

#Host随意命名,只做显示用;HostName是你虚拟机的ip;User是你虚拟机的用户名
Host Ubuntu
    HostName 192.168.1.1
    User 小明
    IdentityFile "C:\Users\Administrator\.ssh\id_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 已安装】

posted @ 2021-08-17 23:49  砚台是黑的  阅读(1125)  评论(0编辑  收藏  举报