Several pieces of third-party software incorporate parts of the PuTTY code, or augment PuTTY in other ways, to provide facilities not available from PuTTY itself. We list some of them here, with no recommendation implied. We have no control over this code, so we can't vouch for either its quality or its security.
Software based on PuTTY's code
These projects include actual code from some version of PuTTY.
- Clients for various operating systems
- NettleSSH, an SSH client for RISC OS
- SSHProxy and pscp for RISC OS
- PuTTY for Symbian (Nokia)
- PuTTY for Symbian UIQ (discontinued)
- Another PuTTY for UIQ
- PuTTY for Symbian UIQ3
- PocketPuTTY, a port for Windows Mobile 2003
- Metro PuTTY, a port to Windows RT (8/10/etc) (Microsoft Store link)
- pssh, a Palm OS SSH-2 client that uses some PuTTY terminal code
- pTerm, for iPhone and iPod Touch (not to be confused with our own Unix terminal emulator "pterm"). Commercial, but cheap.
- SSHDOS, SSH, SCP, SFTP and Telnet client for MS-DOS
- Frontends for file transfer
- Port forwarding and VPN
- Wintunnel, a front end for creating tunnels
- Internationalised and localised versions
- PuTTYjp, with ISO-2022 support and other things Japanese
- PuTTY DBCS Patched, with a Chinese feel
- Arabeyes PuTTY, a project to add Arabic support to PuTTY (this code is now included in our releases)
- iPuTTY/HangulPuTTY, an internationalised fork with an emphasis on Korean support
- Polish localised version of PuTTY (no source)
- Kerberos/GSSAPI support (note that 0.61 and later releases contain native Kerberos support for Windows and Unix)
- Smartcard support
- Settings storage in files
- URL recognition
- Nutty (not actively developed)
- Minimise to the system tray
- MUD clients
- Various combinations of the above
- Le Putty, a fork with Z-modem support and other tweaks
- TuTTY, a fork with several extra features, including a serial backend (this dates from before PuTTY had its own)
- PieTTY, a fork with CJK/transparency/URL recognition etc (no source?)
- KiTTY, a (Windows-only) fork with several features including storing your password, minimising to the system tray, settings storage in files, and automatically sending a command (as if typed at the keyboard) after successful session startup.
- ExtraPuTTY, a (Windows-only) fork featuring a DLL wrapper, scripting with lua, URL hyperlinks, settings storage in files, bundled PuTTY Session Manager, and a couple of other things (no source)
- PuTTYcyg, to use PuTTY as a terminal for Cygwin. (The standard PuTTY can just about do this too, with a bit of fiddly configuration including compiling a helper program. See the cygwin-terminal-window wishlist entry for details.)
- TortoiseCVS and TortoiseSVN, Windows Explorer frontends to CVS and Subversion respectively, use a modified Plink for SSH transport.
- IVT, a VT220 emulator which uses some PuTTY code (no source)
- StarNetSSH, an integration with the X-Win32 X server
- W-PuTTY-CD, a DLL frontend
Other related software
- Frontends for file transfer
- Port forwarding and VPN
- CallingHome, for maintaining long-running SSH tunnels using PuTTY.
- MyEntunnel, for maintaining SSH tunnels using Plink (no source)
- PuTTY Tunnel Manager, for maintaining multiple, long-running sessions each providing a set of tunnels
- Saved session management
- QuickPutty, for quickly launching PuTTY saved sessions
- plaunch, another program for quickly launching PuTTY saved sessions
- PuTTY Session Manager, for organising and launching saved sessions
- PuttyConfer, for importing, exporting, and mass modification of PuTTY sessions
- PuTTY Menu, for organising, launching, exporting, and importing saved sessions
- Launchy with PuTTY Plugin allows launching PuTTY sessions by typing first characters of their name, also works with versions storing sessions in files
- Multiple connection
management (including tabbing)
- PuttyTabs, a floating tab bar for PuTTY sessions
- TWSC (Terminal Window ShortCuts), provides a menu of open terminal windows (no source)
- WinTabber allows PuTTY sessions (and other programs) to be captured into a single tabbed window on Windows 2000/XP (no source)
- PuTTY Manager allows launching PuTTY sessions in a tabbed interface and/or dockable windows
- SuperPutty provides tabbed/docking interface for PuTTY sessions and file uploads
- MTPuTTY embeds PuTTY sessions in a tabbed interface, provides automation features (no source)
- PuTTY Magic provides borderlessness, transparency, and alphablending in PuTTY
- PuTTY Command Sender, for sending commands to and otherwise manipulating multiple PuTTY windows at once
- JAWS PuTTY Scripts, to make the JAWS screen reader work better with PuTTY
Specifications implemented by PuTTY
PuTTY attempts to conform to many specifications. These include:
- RFC 4250: The Secure Shell (SSH) Protocol Assigned Numbers
- RFC 4251: The Secure Shell (SSH) Protocol Architecture
- RFC 4252: The Secure Shell (SSH) Authentication Protocol
- RFC 4253: The Secure Shell (SSH) Transport Layer Protocol
- RFC 4254: The Secure Shell (SSH) Connection Protocol
- RFC 4256: Generic Message Exchange Authentication for the Secure Shell Protocol (SSH)
- RFC 4335: The Secure Shell (SSH) Session Channel Break Extension
- RFC 4344: The Secure Shell (SSH) Transport Layer Encryption Modes (in part)
- RFC 4345: Improved Arcfour Modes for the Secure Shell (SSH) Transport Layer Protocol
- RFC 4419: Diffie-Hellman Group Exchange for the Secure Shell (SSH) Transport Layer Protocol
- RFC 4432: RSA Key Exchange for the Secure Shell (SSH) Transport Layer Protocol
- RFC 4462: Generic Security Service Application Program Interface (GSS-API) Authentication and Key Exchange for the Secure Shell (SSH) Protocol
- RFC 4716: The Secure Shell (SSH) Public Key File Format
- RFC 5656: Elliptic Curve Algorithm Integration in the Secure Shell Transport Layer
RFC 6668: SHA-2 Data Integrity Verification for the Secure Shell (SSH) Transport Layer Protocol
- (hmac-sha2-256 only; we don't implement hmac-sha2-512)
- RFC 8160: IUTF8 Terminal Mode in Secure Shell (SSH)
RFC 8268: More Modular Exponentiation (MODP) Diffie-Hellman (DH) Key Exchange (KEX) Groups for Secure Shell (SSH)
- (diffie-hellman-group14-sha256 only)
RFC 8308: Extension Negotiation in the Secure Shell (SSH) Protocol
- (server-sig-algs, to enable RFC 8332)
- RFC 8332: Use of RSA Keys with SHA-256 and SHA-512 in the Secure Shell (SSH) Protocol
- RFC 8709: Ed25519 and Ed448 Public Key Algorithms for the Secure Shell (SSH) Protocol
- RFC 8731: Secure Shell (SSH) Key Exchange Method Using Curve25519 and Curve448
- IETF Secure Shell working group drafts:
- Other drafts:
- Documents not published as Internet-Drafts or RFCs:
- The SSH (Secure Shell) Remote Login Protocol
- We don't know of a reference for the SCP protocol (which is basically BSD rcp).
- RFC 854: TELNET Protocol Specification
- RFC 855: TELNET Option Specifications
- RFC 856: TELNET Binary Transmission
- RFC 857: TELNET Echo Option
- RFC 858: TELNET Suppress Go Ahead Option
- RFC 1073: Telnet Window Size Option
- RFC 1079: Telnet Terminal Speed Option
- RFC 1091: Telnet Terminal-Type Option
- RFC 1123: Requirements for Internet Hosts -- Application and Support
- RFC 1408: Telnet Environment Option
- RFC 1571: Telnet Environment Option Interoperability Issues
- RFC 1572: Telnet Environment Option
- RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1
- RFC 2617: HTTP Authentication: Basic and Digest Access Authentication
- RFC 2817: Upgrading to TLS Within HTTP/1.1 (HTTP CONNECT)
- SOCKS: A protocol for TCP proxy across firewalls (SOCKS 4)
- SOCKS 4A: A Simple Extension to SOCKS 4 Protocol
- RFC 1928: SOCKS Protocol Version 5
- RFC 1929: Username/Password Authentication for SOCKS V5
- Challenge-Handshake Authentication Protocol for SOCKS V5 is only available as an expired Internet-Draft.
- ECMA-35: Character Code Structure and Extension Techniques (equivalent to ISO 2022)
- ECMA-48: Control Functions for Coded Character Sets (equivalent to ISO 6429)
Zlib compressed data format
- RFC 1950: ZLIB Compressed Data Format Specification (this is mostly just wrapping and red tape)
- RFC 1951: DEFLATE Compressed Data Format Specification (this contains the details of the actual compressed data)
- RFC 4648: The Base16, Base32, and Base64 Data Encodings (PuTTY only uses Base64 out of these)
X Window System
- X Window System Protocol
- X Display Manager Control Protocol, including the definition of XDM-AUTHORIZATION-1.
- Xsecurity(7), which documents MIT-MAGIC-COOKIE-1.
- FIPS PUB 46-3: Data Encryption Standard (DES) also defines TDEA (3DES).
- Bruce Schneier's page on the Blowfish block cipher.
- FIPS PUB 197: Advanced Encryption Standard (AES)
- RFC 1321: The MD5 Message-Digest Algorithm
- FIPS PUB 180-2: Secure Hash Signature Standard (SHS) defines secure hash functions SHA-1 and SHA-512.
- RFC 2104: HMAC: Keyed Hashing for Message Authentication defines a generic wrapper mechanism that converts a hash function such as MD5 or SHA-1 into a secure MAC.
- FIPS PUB 186-2: Digital Signature Standard (DSS) defines the digital signature algorithm DSA.
- RFC 3447: Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications version 2.1 defines the basic RSA encryption and signature algorithms as well as specific padding schemes to turn them into a set of well defined operations on byte strings.
- The precise form of Diffie-Hellman key exchange used in SSH-2 is defined in the SSH-2 transport layer specification: see the SSH-2 section above.
- SEC 1: Elliptic Curve Cryptography defines many of the underlying primitives referred to in RFC 5656.
- The Ed25519 website, with specifications and other resources
- The ChaCha20 cipher specification, specified as modifications to the Salsa20 specification
- (note that PuTTY does not directly implement Salsa20; we only cite the specification here because it is necessary to make sense of the ChaCha20 spec)
- The Poly1305 MAC specification
If you want to comment on this web site, see the Feedback page.
(last modified on Tue Feb 16 00:49:11 2021)