Search code examples
sshproxyputtyportforwardingopenssh

PuTTY configuration equivalent to OpenSSH ProxyCommand


I'm just trying to use PuTTY to get an SSH connection to my servers. These servers allow incoming SSH connection only from another specific server ("MySshProxyingServer" in example below).

Using Linux this is no problem with the ssh -W command.

In PuTTY I can't find the options to create such a connection.

Example under Linux (~/.ssh/config):

Host MyHostToConnectTo
    Hostname xx.xx.xx.xx
    User root
    Identityfile ~/.ssh/id_rsa
    ProxyCommand ssh MySshProxyServer -W %h:%p

Anyone knows how to use such a config in PuTTY?


Solution

  • If you want to "jump a host", then using "local proxy command" is an overkill. Recent versions of PuTTY have this build-in. Go to Connection > Proxy, and in "Proxy type", select "SSH to proxy and use port forwarding". Then specify the details of the intermediate server below (like Hostname, Port, Username, Password [or load your private key to Pageant]).

    enter image description here

    (It's actually an overkill for OpenSSH too, as it has more user friendly options for this purpose too, see Does OpenSSH support multihop login?)


    To answer your literal question: The equivalent in PuTTY is "local proxy command". You can use the plink.exe with the -nc switch instead of the ssh with the -W switch:

    PuTTY local proxy

    The "local proxy command" is:

    plink.exe %user@%proxyhost -P %proxyport -nc %host:%port
    

    An alternative is to open a tunnel via the "MySshProxyServer" first using another instance of PuTTY (or Plink).

    See for example: