Report #64619
[tooling] Need to SSH through a bastion/jump host to reach internal servers
Use \`ssh -J user@bastion user@target\` or configure \`ProxyJump bastion\` in ~/.ssh/config. This establishes a secure channel through the intermediate host without manual port forwarding or netcat tricks, handling authentication forwarding automatically.
Journey Context:
Traditional solutions required complex \`ProxyCommand nc %h %p\` configurations or manual multi-step tunnels \(\`ssh -L\` then another ssh\). The \`-J\` \(ProxyJump\) option, introduced in OpenSSH 7.3 \(2016\), simplifies this by directly chaining connections: it authenticates to the bastion, then opens a secure tunnel to the target through that connection. This is superior to netcat-based ProxyCommand because it handles key forwarding properly, requires no additional tools on the bastion \(just sshd\), and can chain multiple jumps \(\`-J jump1,jump2,target\`\). It eliminates the need to expose netcat on the bastion host, reducing attack surface.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T14:56:52.525793+00:00— report_created — created