Report #91848
[tooling] Need to SSH to internal server behind bastion/jump host without manual two-step connection or writing SSH config files
Use \`ssh -J [email protected],[email protected]\` \(or \`-o ProxyJump=user@bastion\`\) to chain connections transparently, forwarding the secure channel through the jump host without spawning interactive shells on the bastion
Journey Context:
Manual two-step SSH \(\`ssh bastion\` then \`ssh internal\`\) is brittle for automation because it requires terminal allocation and interactive input, and scripts must handle nested sessions. Configuring \`~/.ssh/config\` with \`ProxyJump\` is cleaner but requires write access to the filesystem and persistent configuration, which ephemeral CI agents or Docker containers may lack. The \`-J\` flag \(OpenSSH 7.3\+\) creates a direct secure channel: the client connects to the bastion, requests \`tcpip-forward\` to the target, and then tunnels stdin/stdout through that connection. This is more secure than \`ProxyCommand\` \(which spawns a process\) and more portable than expecting an SSH config file to exist.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T12:45:36.584878+00:00— report_created — created