PuTTY is a free implementation of Telnet and SSH for Windows and Unix platforms, along with an xterm terminal emulator. It was written and is maintained primarily by Simon Tatham, and is currently beta software.
PuTTY is a free and open source terminal emulator application which can act as a client for the SSH, Telnet, rlogin, and raw TCP computing protocols and as a serial console client. The name "PuTTY" has no definitive meaning, though 'tty' is the name for a terminal in the Unix tradition, usually held to be short for teletype.
PuTTY was originally written for Microsoft Windows, but it has been ported to various other operating systems. Official ports are available for some Unix-like platforms, with work-in-progress ports to Classic Mac OS and Mac OS X, and unofficial ports have been contributed to platforms such as Symbian and Windows Mobile.
Unlike most clients, PuTTY doesn't wait for the mud to negotiate - it initiates negotiation itself. Negotiation behavior can be set to passive in the client configuration, when set to active PuTTY sends the following sequences after establishing a connection:
- IAC WILL NAWS
- IAC WILL TERMINAL-SPEED
- IAC WILL TERMINAL-TYPE
- IAC WILL NEW-ENVIRON
- IAC DO ECHO
- IAC WILL SGA
- IAC DO SGA
It should be noted that TinyFugue also appears to initiate negotiation, at least for NAWS, and the same may be true of other clients as well. Linux telnet will initiate negotiation when connecting without a port argument, which defaults to port 23. Therefore care should be taken when using this approach to guess the client.
Prior to 0.58, three consecutive releases (0.55–0.57) were made to fix significant security holes in previous versions, some allowing client compromise even before the server is authenticated.
Version 0.58, released in April 2005, contained several new features, including improved Unicode support, for international characters and right-to-left or bidirectional languages.
Version 0.59, released in January 2007, implemented new features such as connection to serial ports, local proxying, support for SSH and SFTP speed improvements, changes to the documentation format (for Vista compatibility), and has several bugfixes.
The 0.60 version, released in April 2007, implements three new features and some bugfixes.
Some features of PuTTY are:
- The storing of hosts and preferences for later use.
- Control over the SSH encryption key and protocol version.
- Command-line SCP and SFTP clients, called "pscp" and "psftp" respectively.
- Control over port forwarding with SSH (local, remote or dynamic port forwarding), including built-in handling of X11 forwarding.
- Emulates most xterm, VT102 control sequences, as well as much of ECMA-48 terminal emulation.
- IPv6 support.
- Supports 3DES, AES, Arcfour, Blowfish, DES.
- Public-key authentication support.
- Support for local serial port connections.
- Self-contained executable requires no installation.