Luca P.
LP
Chief Operations Officer DEQUA Studio | Formerly CTO in MarTech
Marketing and Advertising
Mid-Market (51-1000 emp.)
"PuTTY: Lightning-Fast, Reliable SSH with Powerful Sessions, Tunnels, and Pageant"
4/5
What do you like best about PuTTY?

The thing that has kept PuTTY in my Start menu for years is that it connects, every time, to anything that speaks SSH, telnet, or serial, and it does it in about a second. I double-click a saved session and I am at a prompt before a heavier client would have finished drawing its splash screen. When a server is misbehaving at 2am and I need eyes on it now, that speed is not a nice-to-have. It is the reason I do not hesitate over which tool to open.

Saved sessions are the backbone of how I actually work in it. Each one holds the hostname, port, protocol, username, the key it should use, any forwarded ports, and the keepalive interval, all under a name I choose. I keep them named by role rather than by hostname, things like prod-db-bastion or core-switch-serial, so the list reads like a map of the estate rather than a pile of IP addresses. Set a session up once, and connecting to that box for the next three years is two clicks.

Pageant is the piece I would miss most if it vanished. It is PuTTY's SSH agent, and once I load my private key into it at login, every tool in the suite uses it without asking again. PuTTY, PSFTP, and Plink all pull from the agent, so I am not browsing for a key file or retyping a passphrase forty times a day. Agent forwarding then lets me hop from a bastion to an internal host without the key ever leaving my laptop, which is exactly the behavior you want when a jump host sits between you and anything sensitive.

The tunneling is what turns PuTTY from a terminal into a way through a network. Local, remote, and dynamic port forwarding all live in the Tunnels panel, and I lean on them constantly. Reaching a database that only listens on a private subnet usually means a local forward through the bastion, after which my desktop client connects to localhost as if the database were sitting next to me. The dynamic SOCKS option covers the times I need a quick proxy into a segment rather than a single port. None of this needs extra software, and it survives a reconnect because the forwards are saved with the session.

Serial console support is the feature that quietly justifies keeping it around even in shops that have moved to other SSH tools. Plug in a USB-to-serial adapter, point PuTTY at the COM port, set the baud rate, and you are talking to a switch, a router, or some embedded board that has no network presence yet. I have configured plenty of out-of-the-box network gear over exactly this path. Having serial and SSH in the same window, with the same shortcuts and the same logging I already rely on, means one tool instead of two.

Plink handles the scripting side, and it is more capable than people give it credit for. It is the command-line version of the same engine, so I can drive a connection from a batch file or a scheduled task: pull a file with PSCP, open a tunnel with Plink and the -N flag so no shell starts, run a one-off remote command and capture the output. Tying a tunnel to Windows Task Scheduler so it comes up at login is a five-minute job, and because Plink reads from Pageant, I am not stuffing passwords into scripts.

The footprint deserves a mention on its own. PuTTY is a single executable that needs no installation and no admin rights, so it runs from a locked-down corporate image or a USB stick on a machine I do not own. It asks almost nothing of the hardware, which matters on the tired jump boxes and old laptops that somehow always end up being the thing you have to work from. And it is free under a permissive license, with no account and no telemetry to worry about, and nothing trying to upsell me, which is rarer than it should be for something this central to a daily workflow.

On the security side, the crypto has not been left to rot. Modern key types and ciphers like Ed25519 and ChaCha20 are supported alongside the older ones, and the host key fingerprint prompt on first connect is the small ritual that catches you connecting to the wrong machine. The terminal emulation is faithful too, with proper xterm and VT220 behavior, configurable colors and fonts, and session logging when I need a record of what happened in a window. It is not flashy, and I mean that as praise.

The small interaction details are the part I only notice when I use something else and find them missing. Selecting text with the mouse copies it straight to the clipboard, a right-click pastes, and the scrollback buffer holds enough history that I can scroll back through a long log without it being truncated out from under me. If I need to change a setting mid-session, the Change Settings entry in the window menu lets me adjust the terminal or the colors without dropping the connection. None of this is headline material, and that is rather the point. The friction that other terminals add in ones and twos simply is not here. Review collected by and hosted on G2.com.

What do you dislike about PuTTY?

What I bump into most is the lack of a tabbed interface. Every session opens in its own window, so once I have a bastion, two app servers, and a switch console going, my taskbar is a row of near-identical PuTTY icons and I am alt-tabbing by muscle memory. For anyone managing a lot of simultaneous connections this is the real cost of using it. The workaround I have settled on is a third-party wrapper that hosts PuTTY windows in tabs, and there are forks that bake tabs in directly, but it says something that the single most requested quality-of-life feature still lives outside the core tool.

The configuration dialog is the other thing that dates it. It is a tall tree of categories, and a newcomer staring at Session, Terminal, Window, Connection, and SSH with their dozens of sub-panels has no obvious path to "just connect with a key." I have handed PuTTY to junior teammates and watched them get lost in panels they did not need. My standing advice is to set a session up once with someone who knows the layout, save it, and treat the dialog as something you rarely reopen, because the daily experience after that is fine. The first hour is the hard part.

Where sessions are stored is a quieter annoyance that bites at the wrong moment. On Windows they live in the registry rather than in a portable config file, so moving my carefully built set of sessions to a new machine means exporting a registry key and importing it on the other side. It works, and I keep a saved export for exactly this, but it is the kind of step that feels out of place for a tool that is otherwise so portable. A plain file I could drop in a synced folder would be the obvious improvement, and at least one fork does precisely that.

Key handling has a sharp edge when you live in both the OpenSSH and PuTTY worlds. PuTTY uses its own PPK format, so a key generated by OpenSSH has to be run through PuTTYgen and converted before Pageant will load it, and a PPK has to be exported the other way when a Linux tool needs it. PuTTYgen does the conversion without drama once you know the Import and Export menu items are there, but it is an extra detour every time a new key enters the picture, and it trips up people who assume their id_ed25519 will just work.

The flat session list is the last one worth flagging. There is no folder structure and no search, so a list that was tidy at a dozen saved sessions becomes a scroll-and-squint exercise once it passes fifty. Disciplined naming is the only real defense, and I prefix sessions by environment so they at least sort into rough groups. A proper tree, or even a filter box, would save me a few seconds many times a day. Review collected by and hosted on G2.com.

See what 342 reviewers think of PuTTY

4.5 out of 5 · Verified reviews from real users

Read all reviews