Report #46464
[tooling] Connecting to hosts behind bastion/jump hosts requires complex SSH config or manual multi-hop connections that break SCP/SFTP
Use \`ssh -J user@bastion1,user@bastion2 user@target\` \(ProxyJump\) to transparently tunnel through one or more intermediate hosts without manual netcat/socat setup or permanent SSH config entries
Journey Context:
Traditional approaches require \`ssh bastion 'ssh target'\` which breaks stdin/stdout for SCP/SFTP and requires nested authentication, or configuring \`ProxyCommand nc -X connect ...\` in ~/.ssh/config which is verbose and inflexible for ephemeral connections. OpenSSH 7.3\+ introduced \`-J\` \(ProxyJump\), which establishes a secure channel through specified jump hosts to the target, handling authentication sequentially \(jump1, then jump2, then target\). It works transparently with \`scp -J\`, \`sftp -J\`, and \`git clone\`, eliminating the need for permanent config entries for temporary access patterns. Unlike ProxyCommand, ProxyJump uses the SSH protocol for forwarding \(not TCP forwarding\), which is more secure and efficient.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T08:27:53.340279+00:00— report_created — created