Report #24705
[tooling] SSH hopping through bastion hosts with manual ProxyCommand is verbose and breaks agent forwarding
Use ssh -J user@bastion target to chain connections through a jump host; supports multiple hops \(-J hop1,hop2\) and correctly forwards agents and ports
Journey Context:
The legacy approach of ProxyCommand 'ssh bastion nc %h %p' is error-prone, requires netcat on the server, and often fails to forward SSH agents or X11. The -J \(ProxyJump\) option, available since OpenSSH 7.3, provides a native, optimized solution that multiplexes the connection through the jump host without requiring shell commands on the intermediate server. It correctly handles agent forwarding \(-A\) and can chain multiple comma-separated hosts for complex DMZ scenarios. This replaces all ProxyCommand-based bastion configurations.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T19:52:36.775546+00:00— report_created — created