In Putty, there are three tunneling options:

enter image description here

Can someone explain what is the difference between them?


From the puTTY documentation, specifically, 4.23 The Tunnels Panel section:

Set one of the ‘Local’ or ‘Remote’ radio buttons, depending on whether you want to forward a local port to a remote destination (‘Local’) or forward a remote port to a local destination (‘Remote’). Alternatively, select ‘Dynamic’ if you want PuTTY to provide a local SOCKS 4/4A/5 proxy on a local port (note that this proxy only supports TCP connections; the SSH protocol does not support forwarding UDP).

  • Local -- Forward local port to remote host.
  • Remote -- Forward remote port to local host.
  • Dynamic -- Use SOCKS.
  • What is the benefit of using SOCKS5? – LanceBaynes May 23 '11 at 17:29
  • @LanceBaynes: Benefits? As when compared to what? I'm not sure I understand what you're asking. – jscott May 23 '11 at 18:13
  • sry, against the Local/Remote – LanceBaynes May 23 '11 at 18:19
  • @lanceBaynes: The configuration of the resources you are accessing will determine which of the three options you need to use. This isn't a case of one option being "better" than the others. – jscott May 23 '11 at 18:29
  • 5
    I'd definitely give this an upvote if this answer gave me a better clue of what Dynamic means. "SOCKS 4/4A/5 proxy" doesn't mean anything to me. Although I'm sure I could Google it. Does "Dynamic" perhaps forward in both directions?? – Buttle Butkus Oct 28 '15 at 1:11

The answer from jscott is correct, however after reading it, it was still not completely clear to me when should I use local and when remote. So I researched further, and I have found the answer here:

Use local if you have a service running on a machine that can be reached from the remote machine, and you want to access it directly from the local machine. After setting up the tunneling you will be able to access the service using your local host IP (

Use remote if you have a service that can be reached from the local machine, and you need to make it available to the remote machine. It opens the listening socket on the machine you have used SSH to log into.

Dynamic is like local, but on the client side it behaves like a SOCKS proxy. Use it if you need to connect with a software that expects SOCKS forwarding.

  • 3
    Specifically, remote opens the listening socket on the machine you have used SSH to log into. – Falcon Momot May 24 '13 at 10:46
  • @FalconMomot Exactly. I have added your remark to the answer to make it clearer. – lbalazscs May 24 '13 at 14:59

Local / Remote chooses whether you're connecting to a local port or a remote port (your own pc or another pc)

Dynamic is for a SOCKS proxy

See 4.19.2 Port forwarding http://the.earth.li/~sgtatham/putty/0.54/htmldoc/Chapter4.html


a local server is, well, local

typically it means a local server is connected on your LAN (local area network) and a remote server is not on you lan but connected over your WAN (wide area network) remote could be next door or the next continent or it could be in the same room, simply on separate network.

  • Welcome to ServerFault. Unfortunately your answer does not contribute or add to the discussion, especially for a question which was answered last year. Check out any open questions and see if you can help there instead. – Brent Pabst Oct 17 '12 at 21:22
  • This isn't really relevant in context. You wouldn't set this according to the location of the server on the network, but rather whether you want to access the tunnel from the local machine (on which putty is running) or the remote machine (on which sshd is running). – Falcon Momot May 24 '13 at 10:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.