Software
PuTTY is a free and open-source terminal emulator, serial console, and network file transfer application. It supports several network protocols, including SSH, Telnet, rlogin, and raw socket connections. It also includes tools such as pscp (SCP client), psftp (SFTP client), and plink (command-line connection tool). Originally developed for Windows, it has been ported to various Unix-like platforms. PuTTY is widely used by system administrators and developers for remote server management.
PuTTY was created by Simon Tatham and first released in 1998 for Windows 95 and Windows NT. It was developed as a free alternative to proprietary SSH clients, and its source code was made available under the MIT license. The name "PuTTY" has no official meaning, though it is sometimes jokingly said to stand for "PuTTY Utility for Telnet and SSH". Over the years, PuTTY has been maintained by a small team of volunteers, with contributions from the open-source community. It has been ported to Unix-like systems, including Linux and macOS, and is included in many Linux distributions' package repositories.1
PuTTY supports SSH (versions 1 and 2), Telnet, rlogin, and raw TCP connections. It includes a terminal emulator that supports xterm, VT100, and other terminal types, and it can be configured to handle various character encodings. PuTTY also provides session management, allowing users to save connection profiles with specific settings. The bundled tools extend its functionality: pscp and psftp enable secure file transfers, while plink allows scripting and automation of remote commands. PuTTY supports public-key authentication, including the use of SSH keys generated with the included PuTTYgen tool.2
PuTTY has had a relatively strong security record, but it has not been immune to vulnerabilities. In 2024, a critical vulnerability (CVE-2024-31497) was discovered in PuTTY's use of the NIST P-521 elliptic curve for SSH key generation, which could allow an attacker to recover private keys from a limited number of signatures.3 The issue was fixed in version 0.81. Earlier, in 2019, PuTTY addressed a vulnerability that allowed a malicious server to cause a denial of service via a specially crafted SSH packet. The project maintains a security advisory page and encourages users to update regularly.
Beyond its primary use, PuTTY includes several lesser-known features. It can act as a serial console client, connecting to devices via COM ports, which is useful for network equipment configuration. PuTTY also supports local port forwarding, dynamic port forwarding (SOCKS proxy), and X11 forwarding. The plink tool can be used for automated remote commands in scripts, and it is often used in Windows batch files. PuTTY's terminal emulator supports a wide range of escape sequences, making it compatible with many text-based applications. Additionally, PuTTY has a companion tool called Pageant, which is an SSH agent that stores decrypted keys in memory for convenient authentication.4
PuTTY is a registered trademark of Simon Tatham.
Help improve the encyclopedia. Reports go straight to the site manager.