My coworker showed me something cool today. Like a lot of developers, there are certain machines that I find myself SSHing into repeatedly. Not all of them are directly accessible from the network I’m on. Some of them require me to connect via a jump host.
Ordinarily, I manually create a tunnel between a port on my local machine to my final destination via this tunnel. This is cool, but it’s a bunch of steps to remember, especially if you’re manually creating your SSH tunnels via the command line. Especially if you’re trying to remember a bunch of IP addresses.
Apparently, you can just add hosts to your
Host jump-host Hostname x.x.x.x IdentityFile /path/to/key/proxy.pem User ubuntu Host destination Hostname y.y.y.y IdentityFile /path/to/key/destination.pem User ubuntu ProxyJump jump-host
With this in place,
ssh destination gets you there with zero fuss.