本文介绍VS Code通过SSH远程连接到例外一台电脑,并在这台远程电脑上进行开发的小技巧。
一般我们是在Windows或者Mac OS上进行开发,如果你需要原生进行Linux/Unix开发或者喜欢Linux优秀的软件生态,这种方式会非常适合你。你可以一边使用Windows或者Mac OS完善精美的用户界面一边使用Linux的开发环境,这就像在Linux进行本地开发一样,Linux用户界面相比Windows和Mac OS还是非常羸弱的,这个方式一定程度上起到了取长补短的作用。
环境
| 软件 | 版本 |
|---|---|
| Windows | windows 11 X64 |
| Linux | CentOS Stream 9 X64 |
安装在windows上的VS Code将远程连接到Linux上,并进行Python开发。
VS Code配置
首先我们需要安装Remote Development插件,它是微软官方编写的
安装好后,我们需要对VS Code做一些小的配置
首先我们会看到远程连接的设置图标
我们可以点击+号,添加一个新的SSH连接
然后我们输入远程电脑的IP: ssh yourname@remote-host-ip -A
完成输入后保存,这时VS Code会提示我们将配置保存到哪里,我们直接选择C:\Users\your-name\.ssh\config就好
我们也可以进一步的精细化修改我们的配置
比如修改Host,让我们更容易辨识远程主机的身份
完成全部配置后,我们就可以直接连接了
连接时需要输入密码
连接后就可以远程写代码了
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非对称密钥如下
我们需要将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]$
效果如下
然后我们在windows的VS Code上继续配置,将windows上的私钥路径配置到config的IdentityFile上
后面我们就可以直接连接,不需要反复输入密码了