背景
在开发过程中,代码放在不同的远程开发服务器上,我们需要使用vscode对不同的服务器进行连接进行开发,为了避免每次输入密码的烦恼,整理了下列文档。
操作步骤
1. 安装 SSH
由于我们是使用 SSH 连接远程服务器,因此 Windows 需要支持 SSH 。
可以通过安装 Git 来获取 SSH 功能,如何验证?使用 Win + R ,输入 cmd 打开控制窗口,直接输入 ssh ,如下提示,则代表 SSH 已经安装成功;
2. 安装插件
使用 VSCode 最方便的一点,就是有很多插件可供选择。
需要使用 Remote - SSH 插件
安装完插件后,在侧边栏可以看到 “远程资源管理器” 图标。
3. 配置SSH密钥
目的:将本机添加到远程服务器连接白名单,让服务器知道是已认证的电脑在连接。过程类似于 GitHub 网站添加本地电脑的 SSH 公钥。
1、使用如下命令,在本机生成 SSH 公钥文件。如果已经生成,则可直接使用,跳到步骤二。
# 方法一
ssh-keygen
# 方法二,参考使用Git生成密钥
ssh-keygen -t rsa -C "youremail@example.com"
2、一般生成的密钥文件,路径为:C:\Users\user.ssh ,找到公钥文件 id_rsa.pub ,复制到远程服务器 根目录 的 .ssh 文件夹中。
(1)根目录,不一定非要是 /.ssh 路径,可以是自己的用户目录,类似这样:/zhaochen/.ssh。
(2).ssh 文件夹没有怎么办?新建一个文件夹,命名为 .ssh 即可。同时要确认远程服务器是否支持 SSH ,如果此时正是通过 SSH 方式连接的,那肯定是支持了。
3、生成 authorized_keys 文件。这样后续在使用 Remote 插件时,不需要密码,就可以直接登录到服务器。
(1)连接到远程服务器
- 方法一:通过 Windows 的 cmd 命令框,使用如下命令 + 密码,连接到远程服务器
# 标准命令,输入后会提示输入密码
ssh username@ip -p port
# 示例:SSH默认为22端口
ssh zhaochen@192.168.1.1 -p 22
- 方法二:已经使用 SSH 方式连接到服务器
(2)进入 .ssh 目录,使用如下命令,生成 authorized_keys 文件。
cat id_rsa.pub > authorized_keys
4、在 cmd 窗口,再次尝试如下,可以看到无需密码,直接连上服务器
5. 假如要连接多台,则在各服务器上分别按照下面步骤操作
1、在 .ssh 文件夹下,新建 authorized_keys 文件;
2、将 id_rsa.pub 文件中的内容全部复制到 authorized_keys 文件即可;
4 vscode添加配置文件
目的:配置 VSCode 连接远程服务器的一些基本信息。
1、点击左侧的 “远程资源管理器” 图标,点击右上角的小齿轮(设置)
2、在弹出来的窗口中,选择第一个 config 文件打开,参考下图,填写对应信息
(1)参考上述配置,释义如下
Host <远程主机名称>
HostName <远程主机IP>
User <用户名>
Port <ssh端口,默认22>
IdentityFile <本机SSH私钥路径>
ForwardAgent yes <VSCode 自己添加的,不用管>
- Host :连接的主机名称,可自定义;
- Hostname :远程主机的 IP 地址;
- User :用于登录远程主机的用户名;
- Port :用于登录远程主机的端口,SSH 默认为 22 ;
- IdentityFile :本地的私钥文件 id_rsa 路径;
(2)如果需要连接多个远程服务器,可参考如上内容,配置多个即可;
Host <远程主机名称1>
HostName <远程主机1 IP>
User <用户名1>
Port <ssh端口,默认22>
IdentityFile <本机SSH私钥路径>
ForwardAgent yes <VSCode 自己添加的,不用管>
Host <远程主机名称2>
HostName <远程主机2 IP>
User <用户名2>
Port <ssh端口,默认22>
IdentityFile <本机SSH私钥路径>
ForwardAgent yes <VSCode 自己添加的,不用管>
5. 连接测试
1、进入 “远程资源管理器” 选项,右键点击主机名;
2、选择一种方式,连接到远程服务器,进行测试;
3、如果连接成功,左下角则会显示当前已连接的主机名。