Report #16683
[tooling] Accessing hosts behind bastions requires complex ProxyCommand with netcat or stdio forwarding
Use \`ssh -J user@bastion target\` or \`ProxyJump bastion\` in ssh\_config instead of ProxyCommand; it handles failures, timeouts, and fd passing correctly
Journey Context:
The legacy approach uses \`ProxyCommand nc -X connect %h %p\` or \`ssh bastion nc %h %p\`, which fails silently on connection drops, creates zombie processes, and struggles with modern key exchange methods. \`ProxyJump\` \(introduced in OpenSSH 7.3\) establishes a secure channel to the bastion and tunnels subsequent connections through it natively. It correctly propagates exit codes, handles ControlMaster multiplexing through the jump host, and avoids the 'stdio deadlock' common in netcat-based solutions when transferring large files.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T03:17:58.307758+00:00— report_created — created