VScode 配置远程连接

最近更新于 2024-05-05 12:30

Table of Contents

前言

一般 Linux 服务器是不会安装桌面的,尽可能节省资源消耗用于业务使用。开发、调试、修改用终端编辑器 vim、nano 之类的不是很方便,就可以选择使用 VScode 连接。
连接方式是基于 ssh,可以选择密码连接或者秘钥文件验证连接。使用密码连接时,每次连接(如切换项目)都要输入密码验证,要是本地 Linux 搞着玩设置一位数的密码都没啥问题,输密码也快,但要是公网服务器搞一位数密码,这不是轻松爆破。而且一般服务器也会关闭密码登录,只使用秘钥文件验证。VScode 使用秘钥文件连接的话就是自动读取文件验证,使用也更为方便。

测试环境

远端:树莓派 cm4 – 官方系统 2023.10(Debian 12)
VScode 端:Windows 11

配置

生成秘钥文件

打开 PowerShell,执行

# RSA 算法生成长度为 4096 位的密钥
ssh-keygen -t rsa -b 4096

设置文件生成路径,如果不修改,就是在当前的工作路径生成
file
后面设置密码什么的不用管,直接回车就行,完成
file

到生成路径可以看到两个文件,没有扩展名的是私钥,放在本地用于远程连接时验证的,pub 扩展名的公钥文件,里面的内容要放到远端服务器。
file

在远端配置公钥

用记事本打开 pub 文件(公钥),复制里面的所有内容
file

ssh 连接远端服务器,到服务器上执行

# 保证路径存在
mkdir -p .ssh

# 写入公钥
echo "【复制的公钥内容】" >> ~/.ssh/authorized_keys

file

ssh 连接测试

打开 PowerShell 执行,首次连接中输入 yes 回车确认一下就行

ssh -i 私钥文件路径 用户名@远端地址

连接成功
file

配置 VScode

安装 Remote – SSH 插件,另外两个辅助插件会自动一起安装
file

打开远程连接界面创建远程连接
file

输入

ssh 远端要登录的用户名@远端地址 -A

-A 参数可加可不加,这个是代理转发。如果本地远程连接一台远端,然后在远端上再远程连接另外一台服务器,那么可以使用本地的私钥,而不用在远端上生成秘钥,然后去远端的远端配置公钥,私钥都保存在本地,更为安全。
file

选择配置生成路径,默认回车就行
file

然后打开配置文件
file

Host 是设置名字,这个显示在连接列表;HostName 是远端地址;User 是登录的用户名;FowardAgent 就是前面 -A 参数配置的东西,然后自己加上一条

IdentityFile 私钥文件路径

file

刷新
file

点击右箭头在当前窗口连接
file

然后会自动安装 VScode 服务端
file

完成连接
file

VScode 配置远程连接
Scroll to top