29

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 jump

You can then ssh like this: ssh protected

dnk8n
  • 411

2 Answers2

25

Since 0.77 PuTTY has "SSH proxy" feature, what is an equivalent of one -J/ProxyJump: https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter4.html#config-proxy

On the Connection > Proxy panel, select "SSH to proxy and use port forwarding" and specify details of the jump host.

enter image description here


For older versions, there are two alternatives (while a bit more complicated to set up):


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?

8

What 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.