How to setup proxy jump with PuTTY
Olivia Zamora
In GNU/Linux I find it very easy to perform the following, but I am struggling to get our Windows users to connect via the same method.
The following is what I do on GNU/Linux. Can you please demonstrate how to do the same in Windows. We currently use PuTTY. Is there an alternative?
GNU/LINUX
The raw command without any configuration set up looks like this:
ssh -J <jump-user>@<jump-host> <protected-user>@<protected-host>An SSH config can be created at ~/.ssh/config that looks like this:
Host jump User <jump-user> HostName <jump-host>
Host protected User <protected-user> HostName <protected-host> ProxyJump jumpYou can then ssh like this:ssh protected
2 Answers
PuTTY does not have a direct equivalent of -J/ProxyJump. (Yet – The upcoming version will)
But there are two alternatives (while a bit more complicated to set up):
Port forwarding.
You open a connection in one PuTTY instance to the jump host and forward a local port to the protected host. For that see:
How to create SSH tunnel using PuTTY in Windows?And then you open a connection in another PuTTY instance to the forwarded port.
Local proxy command using Plink.
This is an equivalent of OpenSSH
ProxyCommanddirective:
OpenSSH ProxyCommand equivalent in PuTTY
Apart from PuTTY, there's also Microsoft build of OpenSSH for Windows. On Windows 10 version 1803 or newer, OpenSSH is built-in. On older versions of Windows 10, you can install it as an "Optional Feature" named "OpenSSH Client". On you can just download a ZIP package. The client tools do not need any installation, you can just extract them.
See also Does OpenSSH support multihop login?
0What I've done in putty is set the host to the jump machine. Then in Connection -> SSH I set the remote command to ssh -Y <protected-user>@<protected-machine>. Not quite the same thing, but it instructs putty to immediately run the SSH command upon login and when I close that, the whole thing closes down because that command will have completed.