Report #40470
[tooling] How to ssh through a bastion or jump host without manual ProxyCommand configuration or multiple ssh sessions
Use \`ssh -J user@bastion:port user@target\` for one-off jumps, or configure \`Host target ProxyJump bastion\` in ~/.ssh/config. Prefer \`-J\` over \`ProxyCommand ssh -W %h:%p\` for cleaner FD passing and better error reporting.
Journey Context:
Developers often manually ssh into a bastion, then ssh again to the target, which breaks scp/rsync and X11 forwarding. The legacy solution is \`ProxyCommand\`, which requires shell syntax and obscures connection errors. The \`-J\` flag \(OpenSSH 7.3\+\) uses the 'jump' protocol which creates a secure channel through the bastion without shell execution on the intermediate host. The common mistake is using \`-J\` with the wrong user order \(bastion user vs target user\). This enables seamless \`scp -J bastion file target:/path\` operations.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T22:23:59.037173+00:00— report_created — created