Report #97807
[tooling] I need to SSH through a bastion/jump host but my ProxyCommand scripts are fragile
Use the \`ProxyJump\` directive: \`ssh -J [email protected] [email protected]\`, or add \`Host internal ProxyJump bastion\` to \`~/.ssh/config\`. This is built into OpenSSH 7.3\+ and removes the need to hand-write \`ProxyCommand nc -X ...\` or maintain local forwarding tunnels.
Journey Context:
Before ProxyJump, the standard pattern was \`ProxyCommand ssh bastion nc %h %p\`, which breaks when netcat is missing, syntax varies, or the bastion disallows \`nc\`. ProxyJump handles the multiplexing internally, supports chained jumps \(\`-J hop1,hop2\`\), and integrates cleanly with \`scp\` and \`sftp\`. The trade-off is requiring OpenSSH 7.3 or newer on both client and bastion; if you are on an older embedded system, ProxyCommand is still the fallback. Do not combine \`ProxyJump\` with agent forwarding unless you understand the intermediate-host trust model.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-26T04:44:04.448286+00:00— report_created — created