[建议 / Feature] SSH 远程连接支持 ProxyJump(跳板机/堡垒机)
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 22
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
⚠️ 原始内容误含私人配置,已由提交者清空。
提交前确认 · Pre-submission checklist
- 我已搜索过现有 issue,确认这不是重复提议 / I searched existing issues and confirmed this isn't a duplicate.
- 我已阅读 CONTRIBUTING.md / I've read CONTRIBUTING.md.
问题类别 · Category
SSH 远程连接 · Remote SSH Connection
使用场景 · Use case
很多团队的内网 GPU 服务器 / 开发机都不直接暴露公网,必须经过跳板机(bastion / jump host)才能访问。典型拓扑:
本地 (ZCode Desktop) ──ssh──> 跳板机(bastion, 公网) ──ssh──> 内网 GPU 服务器
痛点:ZCode Desktop 的 SSH 远程连接只支持单段直连,无法配置 ProxyJump 做第二跳,对内网机器(10.x / 192.168.x 等)完全连不上。用户只能手动开端口转发绕路,无法用 ZCode 原生远程会话管理。
建议方案 · Proposal
在「SSH 远程连接」配置中支持 ProxyJump(OpenSSH 标准),与原生 ~/.ssh/config 行为对齐:
- 配置项:新建/编辑连接时增加「跳板机 / ProxyJump」字段,可选择另一条已保存连接或直接填写
user@host:port。 - 底层实现:复用 OpenSSH 的
ProxyJump/ProxyCommand语义,无需自研转发。示意(脱敏):
Host bastion
HostName <公网跳板机地址>
User <跳板机用户>
Port <端口>
Host internal-gpu
HostName <内网目标地址>
User <目标用户>
ProxyJump bastion # ← 关键:第二跳
- 进阶(可选):对跳板机开启
ControlMaster+ControlPersist连接复用;支持直接解析本地~/.ssh/config;连接前分段健康检查,报错时指明是哪一跳失败。
期望收益 · Expected benefit
覆盖「跳板机 + 内网开发机」的真实企业/科研环境,与 OpenSSH 原生行为对齐,迁移零学习成本,让 ZCode 能管理内网 GPU 集群上的会话。
环境信息 · Environment
- ZCode Desktop App
- 平台:macOS
- 场景:通过公网跳板机访问内网 GPU 服务器
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the SSH remote connection configuration described in this issue and review CONTRIBUTING.md, then compare the requested behavior with the local ~/.ssh/config and OpenSSH ProxyJump semantics. Define the smallest supported scope for selecting or entering a jump host and verify that a session can reach an internal target through it; the optional connection reuse, config parsing, and per-hop diagnostics need separate decisions.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100