Report #99689
[tooling] Need to SSH into a server behind a bastion/jump host without nested ssh commands or manual ProxyCommand
Use \`ssh -J user@bastion user@target\` on the command line, or add \`ProxyJump bastion\` \(and \`Host\`/\`User\` if needed\) in \`~/.ssh/config\`. Chain multiple hops with commas: \`ssh -J hop1,hop2 target\`. Keep jump-host config in one place instead of scripting nested SSH.
Journey Context:
The old approach is \`ssh -t bastion 'ssh target'\` or a hand-written \`ProxyCommand\`, both of which are brittle \(they allocate extra ptys, complicate stdin/stdout forwarding, and require shell quoting\). \`-J\` / \`ProxyJump\` is the modern OpenSSH shortcut: it creates a TCP forwarding through the jump host to the destination, then runs the normal SSH protocol over that forwarded channel. It composes with \`-i\`, \`-L\`, and \`~/.ssh/config\` cleanly. If the jump host itself needs special options \(e.g., a non-standard port\), define a \`Host\` block for it and reference it by alias in \`ProxyJump\`.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-30T04:53:52.805682+00:00— report_created — created