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

能直接用,但必须满足三个前提: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”伪配置项。
-
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 < 7.3):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。


















