Report #76887
[tooling] SCP or Git operations fail through bastion hosts requiring manual tunnel management
Use \`ssh -J user@bastion:2222 target\` or configure \`Host target\\n ProxyJump bastion\` in \`~/.ssh/config\` to transparently chain connections through the jump host without leaving persistent local port-forwarding processes
Journey Context:
Manually creating tunnels with \`ssh -L 2222:target:22 bastion\` requires tracking PIDs, choosing unused local ports, and handling connection drops. The \`-J\` flag \(or \`ProxyJump\` config\) uses the \`stdio\` forwarding method: the local SSH client speaks the SSH protocol directly to the target through the jump host's \`sshd\`, which merely forwards the encrypted stream. This eliminates the need for TCP ports on the local machine and works seamlessly with \`scp\`, \`rsync --rsh=ssh\`, and \`git\` via \`GIT\_SSH\_COMMAND='ssh -J ...'\`. For multiple hops, chain with commas: \`-J hop1,hop2\`. Requires OpenSSH 7.3\+.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T11:39:08.121571+00:00— report_created — created