VS Code 远程开发

1,348 阅读2分钟

本文介绍VS Code通过SSH远程连接到例外一台电脑,并在这台远程电脑上进行开发的小技巧。

一般我们是在Windows或者Mac OS上进行开发,如果你需要原生进行Linux/Unix开发或者喜欢Linux优秀的软件生态,这种方式会非常适合你。你可以一边使用Windows或者Mac OS完善精美的用户界面一边使用Linux的开发环境,这就像在Linux进行本地开发一样,Linux用户界面相比Windows和Mac OS还是非常羸弱的,这个方式一定程度上起到了取长补短的作用。

环境

软件版本
Windowswindows 11 X64
LinuxCentOS Stream 9 X64

安装在windows上的VS Code将远程连接到Linux上,并进行Python开发。

VS Code配置

首先我们需要安装Remote Development插件,它是微软官方编写的 image

安装好后,我们需要对VS Code做一些小的配置

首先我们会看到远程连接的设置图标 image

我们可以点击+号,添加一个新的SSH连接 image

然后我们输入远程电脑的IP: ssh yourname@remote-host-ip -A image

完成输入后保存,这时VS Code会提示我们将配置保存到哪里,我们直接选择C:\Users\your-name\.ssh\config就好 image

我们也可以进一步的精细化修改我们的配置 image

比如修改Host,让我们更容易辨识远程主机的身份 image

完成全部配置后,我们就可以直接连接了 image

连接时需要输入密码 image

连接后就可以远程写代码了 image

Linux 配置

上面的方式有个问题是每次都需要输入密码,那么我们怎么解决呢

我们可以使用SSH非对称密钥对

首先在windows上生成SSH密钥对

git config --global user.name "your-name"
git config --global user.email "your-name@xxx.com"
ssh-keygen -t rsa -C "your-name@xxx.com"

生成的SSH非对称密钥如下 image

我们需要将id_rsa.pub放到Linux远程电脑的.ssh目录中,并继续执行

[thinktik@thinkvm .ssh]$ pwd
/home/thinktik/.ssh
[thinktik@thinkvm .ssh]$ cat id_rsa.pub >> authorized_keys
[thinktik@thinkvm .ssh]$ ls
authorized_keys  id_rsa.pub
[thinktik@thinkvm .ssh]$ 

效果如下

image

然后我们在windows的VS Code上继续配置,将windows上的私钥路径配置到config的IdentityFileimage

后面我们就可以直接连接,不需要反复输入密码了