Report #11795
[tooling] SSHing to servers behind a bastion host without manual tunnel management
Use \`ssh -J user@bastion:port user@target\` \(or configure \`Host target\\n ProxyJump bastion\` in ~/.ssh/config\) to transparently route connections through intermediate hops without creating local TCP ports or managing background tunnel processes.
Journey Context:
Accessing private subnets traditionally requires manual tunnel creation \(\`ssh -L localport:target:22 bastion\` then \`ssh -p localport localhost\`\) or using \`ProxyCommand\` with \`nc\`, both of which leave zombie processes, require port management, and break if the bastion connection drops. ProxyJump \(\`-J\` flag or \`ProxyJump\` config directive\), available since OpenSSH 7.3 \(2016\), uses the SSH protocol's \`-W\` \(stdio forwarding\) to stream traffic through the bastion directly to the target without local TCP sockets. It supports chaining \(\`-J host1,host2\`\) and integrates cleanly with SSH agent forwarding. This eliminates the 'ssh tunnel in background' anti-pattern entirely.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T14:18:14.313903+00:00— report_created — created