PuTTY and SSH clients: connecting to Linux servers from Windows
This domain once mirrored the official PuTTY website and downloads. The mirror is long retired — always get PuTTY from the official site — but two decades on, here's our current guide to SSH from Windows.
If you rent a VPS, run a home server, or manage shared hosting with shell access, SSH is how you talk to it. For twenty-plus years the answer to "how do I SSH from Windows?" was one word: PuTTY. It's still a fine answer — but it's no longer the only one, and depending on how you work it may not be the best one.
You may not need PuTTY at all
Windows 10 and 11 ship with Microsoft's build of OpenSSH — the same client Linux and macOS use. Open a terminal (PowerShell or Windows Terminal) and you can connect immediately:
ssh rob@server.example.co.uk
You get the standard OpenSSH feature set: scp and sftp
for file transfer, ssh-keygen for key generation, an agent service for
holding unlocked keys, and a ~/.ssh/config file for per-host settings —
the same muscle memory that works on every Linux box you'll ever touch. If you're
comfortable in a terminal, this is our default recommendation: nothing to install,
nothing to keep updated separately.
Where PuTTY still earns its keep
PuTTY is a small, self-contained GUI application, and that brings real advantages:
- Saved sessions — point-and-click profiles for dozens of servers, each with its own username, port, key and terminal settings.
- No install needed — a single portable
putty.exeruns from a USB stick or a locked-down work machine. - Serial and raw connections — handy for routers, switches and single-board computers, not just SSH.
- Pageant — its key agent integrates with WinSCP and FileZilla, which many hosting workflows still lean on.
Download it only from the official page: chiark.greenend.org.uk/~sgtatham/putty. PuTTY has been a favourite target for fake "download" sites bundling malware for as long as it has existed — a lesson we know intimately, having once been one of the few legitimate mirrors. If a site isn't chiark or a link from it, skip it.
Set up SSH keys (whichever client you use)
Passwords over SSH are brute-forced day and night on every public server. Keys are both safer and more convenient. With OpenSSH on Windows:
# generate a modern ed25519 keypair ssh-keygen -t ed25519 -C "rob@laptop" # copy the public key to your server (or paste it into # ~/.ssh/authorized_keys on the server by hand) type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh rob@server "cat >> ~/.ssh/authorized_keys"
Then confirm you can log in without a password, and consider disabling password
authentication in the server's /etc/ssh/sshd_config
(PasswordAuthentication no). PuTTY users: generate keys with PuTTYgen
and load them into Pageant — but note PuTTY's .ppk format isn't the
OpenSSH format; PuTTYgen can import/export between the two.
Other clients worth knowing
- Windows Terminal + OpenSSH — the plain default; tabs, panes and profiles cover most of what people used PuTTY sessions for.
- WSL — a full Linux userland on Windows; if you already live in WSL, just use its
ssh. - MobaXterm — kitchen-sink client with built-in SFTP browser and X11 forwarding; popular with sysadmins.
- KiTTY — a PuTTY fork with quality-of-life extras, if you want PuTTY-but-more.
- Termius — polished cross-platform client that syncs hosts between desktop and phone (subscription for sync).
Whatever you pick, the server side doesn't care — it's all SSH. Choose the client that matches how you work, put keys on everything, and you're set.