Stop letting your SSH jump hosts become a configuration nightmare
SSH & Remote Administration
Stop letting your SSH jump hosts become a configuration nightmare
🧩 The Challenge
Dealing with internal servers buried behind a bastion host is a headache that makes me want to scream. Every time I need to move a file or open a shell, I end up chaining flags and typing out usernames three times over.
💡 The Fix
You can actually tell your local SSH client to automatically tunnel through the jump host transparently. It turns a manual multi-hop headache into a single command that acts like you’re connected directly to the destination.
Host internal-server
Hostname 10.0.0.50
ProxyJump bastion-user@bastion.example.com
⚙️ Why It Works
Adding the ProxyJump directive to your local config tells SSH to perform the initial connection to the jump box before initiating the secondary connection to your final target. It keeps the heavy lifting inside the SSH protocol rather than forcing you to manually pipe traffic or configure weird local ports.
🚀 Pro-Tip: Keep your jump host and destination hosts in the same ~/.ssh/config file and use the wildcard ‘Match’ block if you want to apply the same jump settings to a whole fleet of servers.
Linux Tips & Tricks | © ngelinux.com | 9/8/2026
