答案:通过配置SSH的ProxyJump或ProxyCommand,可在VS Code中经跳板机连接内网服务器。具体步骤包括设置~/.ssh/config文件,定义跳板机与目标主机,使用ProxyJump简化多级跳转,或用ProxyCommand兼容旧版本,链式配置支持三级以上跳转,确保密钥正确、防火墙放行,最终实现流畅远程开发。

在实际开发中,很多服务器出于安全考虑部署在内网环境,无法直接通过公网访问。这时通常需要通过一台具有公网IP的跳板机(Bastion Host)进行中转连接目标服务器。使用 VS Code 的 Remote-SSH 插件配合 SSH 配置,可以轻松实现多级跳转连接内网服务器,获得本地般的开发体验。
VS Code 的 Remote-SSH 功能依赖于本地的 SSH 客户端。只要你的本地 SSH 配置能成功连接目标主机,Remote-SSH 就能工作。因此,关键在于正确配置 ~/.ssh/config 文件,利用 SSH 的 ProxyJump 或 ProxyCommand 实现跳板连接。
OpenSSH 7.3+ 引入了 ProxyJump 指令,让多级跳转变得非常简洁。假设:
在 ~/.ssh/config 中添加:
Host bastion保存后,在 VS Code Remote-SSH 面板中选择 “target-server”,它会自动先连接到 bastion,再跳转至目标机。
如果你的 OpenSSH 版本较老,不支持 ProxyJump,可以用 ProxyCommand 替代。上面的例子等价写法为:
Host target-server其中 -W %h:%p 表示将本地与目标机的通信转发给跳板机处理,-q 启用静默模式减少输出。
如果需要经过多个跳板(如公网 → 内网A → 内网B),可链式使用 ProxyJump:
Host jump1连接 final-target 时,SSH 会依次经过 jump1 → jump2 → final-target,VS Code 无需额外操作。
确保每台机器的 SSH 密钥已正确配置,推荐使用 ssh-agent 管理私钥,避免频繁输入密码。测试连接时,先在终端运行 ssh target-server 确认能手动登录,再在 VS Code 中尝试。
若遇到连接超时或卡在 “Resolving…”,检查跳板机是否允许 TCP 转发(需 PermitTunnel 和 GatewayPorts 开启),并确认中间节点防火墙放行对应端口。
基本上就这些,合理配置 SSH config 后,VS Code 远程开发就像连接本地服务器一样顺畅。
以上就是VS Code远程SSH:跳板机与多级连接的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号