VSCode Remote-SSH 配置文件详细指南
在使用 VSCode 的 Remote-SSH 插件连接远程服务器时,最核心的配置依赖于本机的 SSH 配置文件(通常位于 ~/.ssh/config 或 C:\Users\你的用户名\.ssh\config)。
编写良好的 SSH 配置文件不仅能让你在 VSCode 中实现一键连接,还能避免每次繁琐地输入 IP、用户名和密码。
1. 配置文件基础位置与编辑方式
在 VSCode 中,你可以直接通过快捷键打开并编辑该配置:
- 按下
F1或Ctrl+Shift+P(Mac 上为Cmd+Shift+P) 打开命令面板。 - 输入并选择
Remote-SSH: Open SSH Configuration File(打开 SSH 配置文件)。 - 选择带有你当前用户路径的
config文件(例如~/.ssh/config)。
2. 基础配置示例
最基础的配置只需要知道服务器的 别名、IP 地址 和 登录用户名。
ssh-config
# 我的开发服务器
Host dev-server
HostName 192.168.1.100
User root配置后,VSCode 的 Remote 资源管理器面板就会出现一个名为 dev-server 的目标,点击即可连接。
3. 核心参数详解
以下是 SSH Config 文件中常用的关键参数:
| 参数名 | 描述 | 示例 |
|---|---|---|
| Host | 服务器的显示别名,可以随便起,支持通配符 * | Host myserver |
| HostName | 真实的服务器 IP 或域名 | HostName 10.0.0.5 |
| User | 登录该服务器的用户名 | User ubuntu |
| Port | SSH 端口,如果不是默认的 22 必须指定 | Port 2222 |
| IdentityFile | 指定登录该服务器所使用的私钥文件路径 | IdentityFile ~/.ssh/id_rsa_aws |
| ForwardAgent | 是否开启 SSH 代理转发 (在远端能使用本地的 Git 密钥) | ForwardAgent yes |
4. 完整进阶配置示例
示例 A:使用密钥免密登录 + 自定义端口
这是最推荐的连接方式。首先你需要使用 ssh-keygen 生成密钥对,并将公钥(.pub)放到服务器的 ~/.ssh/authorized_keys 中。
ssh-config
Host production-web
HostName web.example.com
User admin
Port 50022
IdentityFile ~/.ssh/id_rsa_prod
# 禁用密码登录,仅使用密钥
IdentitiesOnly yes示例 B:使用跳板机(代理)连接内网服务器
如果目标服务器在公司/学校内网,你需要先登录一台有外网 IP 的“跳板机”(Bastion Host),然后再连接内网机器,可以使用 ProxyJump。
ssh-config
# 先配置跳板机
Host bastion
HostName 8.8.8.8
User jump_user
IdentityFile ~/.ssh/id_rsa
# 配置内网目标机器
Host inner-database
HostName 10.10.1.50
User db_admin
# 告诉 SSH 先连接 bastion,再跳转到当前机器
ProxyJump bastion示例 C:保持长时间连接(防断开)
如果你发现 VSCode 的 SSH 连接闲置一段时间后总是自动断开报错,可以增加全局心跳包设置。
ssh-config
# 匹配所有 Host
Host *
# 每隔 60 秒向服务器发送一次保活请求
ServerAliveInterval 60
# 如果连续 3 次没收到服务器响应才判定为断开
ServerAliveCountMax 3
# 开启 TCP 层的保活
TCPKeepAlive yes
# 开启 TCP 层的保活
TCPKeepAlive yes