如何在VSCode的SSH配置中添加Jump Host跳板机实现公司内网服务器的安全穿透

陌宇吖_9486

陌宇吖_9486

2026-04-21

339人浏览

原创

必须满足openssh 7.3+、私钥权限正确、~/.ssh/config中使用proxyjump而非proxycommand,三者缺一不可;vscode remote-ssh依赖系统ssh命令,版本不足将静默失效。

如何在vscode的ssh配置中添加jump host跳板机实现公司内网服务器的安全穿透

能直接用,但必须满足三个前提:OpenSSH 7.3+、私钥权限正确、~/.ssh/config 里用 ProxyJump 而不是手写 ProxyCommand。

检查本地OpenSSH版本是否支持 ProxyJump

VSCode 的 Remote-SSH 插件底层调用的是系统 ssh 命令,不认 VSCode 自带逻辑。如果 Windows 自带的 OpenSSH 版本太低(比如 Win10 1809 默认是 7.7,但某些 IT 策略会降级),ProxyJump 会静默失效,退化成密码提示或连接超时。

  • 在 PowerShell 中运行:ssh -V,输出应类似 OpenSSH_9.6p1, LibreSSL 3.3.6;低于 7.3 就别折腾 ProxyJump 了
  • 若版本过低,优先升级系统(Win10 20H2+ / Win11)或改用 ProxyCommand 方式(见下一条)
  • 别信 VSCode 插件版本号——它不决定 SSH 协议能力

配置 ~/.ssh/config 时必须避开的三个坑

Windows 下该文件路径是 $env:USERPROFILE\.ssh\config(PowerShell 可用 notepad $env:USERPROFILE\.ssh\config 直接打开),不是 C:\Users\XXX\.ssh\config 手动拼写,更不是 VSCode 设置里的“SSH Config Path”伪配置项。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • Host 别用下划线或大写字母,只用小写字母+短横线,例如 tiaobanji 或 jump-host,否则 Remote-SSH 解析失败
  • IdentityFile 必须写绝对路径,且路径中不能有空格或中文;推荐用 ~/.ssh/id_ed25519 这类标准路径,避免 %USERPROFILE% 展开问题
  • 私钥文件权限必须收紧:PowerShell 中执行 icacls "$env:USERPROFILE\.ssh\id_ed25519" /inheritance:r /grant:r "$env:USERNAME:(R)",否则报错 Permissions for 'xxx' are too open

两种跳转写法的实际差异与选型建议

ProxyJump 是声明式语法,简洁安全;ProxyCommand 是命令式,兼容老环境但易出错。两者不能混用。

  • ProxyJump 示例(推荐):
    Host tiaobanji<br>  HostName 192.168.10.1<br>  User ops<br>  IdentityFile ~/.ssh/id_ed25519<br><br>Host neiwang<br>  HostName 10.1.2.3<br>  User dev<br>  ProxyJump tiaobanji
  • ProxyCommand 示例(仅当 OpenSSH
    Host neiwang<br>  HostName 10.1.2.3<br>  User dev<br>  ProxyCommand ssh -W %h:%p tiaobanji
    注意:-W 参数必须存在,且 tiaobanji 必须是已定义的 Host 名
  • 多级跳转(A→B→C)时,ProxyJump 可链式写:ProxyJump tiaobanji,inner-jump;ProxyCommand 则需嵌套,极易漏引号或转义

VSCode Remote-SSH 连接时看不到目标主机?

不是插件没刷新,而是它只读取 ~/.ssh/config 中 **语法合法且无警告** 的 Host 块。一个常见静默失败原因是:config 文件末尾多了空行或 BOM 字符,或某一行开头有不可见空格。

  • 用 VSCode 自己打开 $env:USERPROFILE\.ssh\config,右下角确认编码是 UTF-8,不是 UTF-8 with BOM
  • 删掉所有空行,每行顶格写,Host 和参数之间用一个空格分隔(不是 Tab)
  • 改完后,在 PowerShell 中手动测试:ssh neiwang —— 成功才说明 config 有效;VSCode Remote-SSH 只是复用这个结果

最常被忽略的一点:公司防火墙或跳板机 SSH 服务本身可能禁用了 ForwardAgent 或限制了 TCPForwarding,此时即使本地配置全对,也会卡在 “Connecting…”。这种情况得找运维确认跳板机的 /etc/ssh/sshd_config 是否开了 AllowTcpForwarding yes。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2792

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

936

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

829

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

434

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2516

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4672

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

747

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程