PuTTY

SSH / Serial Terminal Client

Windows MIT License

What It Does

PuTTY is a free terminal emulator that supports SSH, Telnet, serial, and raw socket connections. It gives Windows users a way to connect to Linux servers, network devices, and embedded systems from a lightweight, zero-install executable. It has been the go-to Windows SSH client for over two decades.

Why You Need It

Remote access is a daily task in IT. Whether you are managing a Linux server, configuring a Cisco switch over console cable, or tunneling traffic through an SSH proxy, PuTTY handles all of it from a single tool. Referenced in the following Signal guides:

While Windows 10+ includes a built-in OpenSSH client, PuTTY remains essential for serial connections, saved session management, and key-based auth via Pageant. It is still heavily referenced in CompTIA A+ and Network+ material.

How to Install It

  1. Download from chiark.greenend.org.uk/~sgtatham/putty
  2. Choose the MSI installer (64-bit for most systems) or grab the standalone putty.exe if you want a portable, no-install option.
  3. The MSI installer also includes PuTTYgen (key generator), Pageant (SSH agent), PSCP (secure copy), and Plink (command-line SSH).

Via winget:

winget install PuTTY.PuTTY

Via Chocolatey:

choco install putty

How to Use It

1. SSH connection

Open PuTTY. In the Host Name field, enter the server IP or hostname. Set the port to 22 (default SSH). Select SSH as the connection type. Click Open. The first time you connect, PuTTY will show the server's host key fingerprint — verify it and click Accept.

2. Serial connection (console cable)

Select Serial as the connection type. Set the Serial line to your COM port (check Device Manager — usually COM3 or COM4). Set the Speed to the device's baud rate — most Cisco devices use 9600. Click Open.

3. Save sessions

Configure your connection settings, then type a name in the Saved Sessions field and click Save. Next time, double-click the saved session to connect instantly. This stores host, port, protocol, terminal settings, and key preferences.

4. Key-based authentication with Pageant

  1. Open PuTTYgen, click Generate, move the mouse to create randomness, then Save private key as a .ppk file.
  2. Copy the public key text from PuTTYgen and paste it into ~/.ssh/authorized_keys on the server.
  3. Open Pageant (it sits in the system tray), click Add Key, and load your .ppk file.
  4. PuTTY will now authenticate automatically using the key held by Pageant — no password prompt.

5. SSH tunneling (port forwarding)

In PuTTY, go to Connection > SSH > Tunnels. To forward local port 8080 to a remote service:

Source port: 8080
Destination: remote-db-server:3306
Type: Local

Click Add, then connect. Traffic to localhost:8080 on your machine will be tunneled through SSH to remote-db-server:3306.

Common Gotchas

PPK vs. OpenSSH key format: PuTTY uses its own .ppk format, not the standard OpenSSH format. If you have an OpenSSH key (from ssh-keygen), open PuTTYgen, click Conversions > Import key, load your key, then Save private key as .ppk.
Serial connection shows nothing: The baud rate is wrong, or the COM port is incorrect. Double-check Device Manager for the actual COM port number. Also try pressing Enter after connecting — many devices wait for input before sending output.
"Server refused our key": The public key on the server is malformed (extra line breaks when pasting), has wrong permissions (~/.ssh must be 700, authorized_keys must be 600), or you are loading the wrong .ppk in Pageant.
Copy/paste works differently: In PuTTY, select text to copy (no Ctrl+C needed). Right-click to paste. Ctrl+C in a PuTTY terminal sends SIGINT (kills the running process), not copy.