PuTTY - Secure Download
PuTTY is a popular SSH, Telnet, and SFTP client for Windows. It is typically used for remote access to server computers over a network using the SSH protocol. This is the download page.
ContentsDownload PuTTY installation package for Windows Master download site Installation and setup instructions Verifying release signatures Package contents: putty.exe, puttygen.exe, psftp.exe, pscp.exe, pagent.exe Alternatives Server for Windows or other platforms SSH key management needs attention Using telnet is not recommended SFTP file transfer support Screenshots PuTTY terminal window PSFTP command line Use
Download PuTTY installation package for Windows
Master download site
Simon Tatham publishes new PuTTY versions on his personal home page.
Installation and setup instructions
Verifying release signatures
The releases are signed with GPG, using the PuTTY release key.
To verify the signatures, you need the
gpg tool. On Debian-based Linux, it can be installed with
aptitude install gnupg. On Red Hat 7, it can be installed with
yum install gnupg2.
To import the signature key into GPG, use:
gpg --import putty-release-2015.asc
To check the signature of a file, use:
gpg --verify <signaturefile> <datafile>
gpg --verify putty-64bit-0.69-installer.msi.gpg putty-64bit-0.69-installer.msi
Package contents: putty.exe, puttygen.exe, psftp.exe, pscp.exe, pagent.exe
The installation package includes
putty.exe is the main executable for the terminal client. It can also be used standalone, without the installation package, by simply copying the executable to a USB stick and running it on a new machine. This way, the user can carry the executable with them. However, this should not be assumed to provide great security - malware on the machine where it is used can still compromise the software (cf. CIA hacking tool bothanspy) and viruses may get installed on the USB stick whenever it is inserted in a new machine.
puttygen.exe is can be used for generating SSH keys on Windows. See the separate puttygen page on how to create and set up SSH keys with it.
psftp.exe is an SFTP file transfer client. It only works on the command line, and does not support graphically dragging and dropping files between systems. See Tectia SSH if you'd like that functionality.
pscp.exe is a command line SCP client.
pagent.exe is an SSH agent for PuTTY. Keys are first created with
puttygen.exe and can then be loaded into
pagent for automating logins and for implementing single sign-on.
For other SSH clients and comparison, see the SSH clients page. Several more modern alternatives are available.
Server for Windows or other platforms
You don't need to worry about a server if you are going to connect to a school or work server. However, if you are planning to use PuTTY to log into your own systems, then you may need to install and enable a server.
Most Linux and Unix systems come with OpenSSH preinstalled. On some distributions, you may need to install the server. On Debian-derived systems, the following will install the server:
sudo aptitude install openssh-server
On Red Hat systems, the following will install the server:
sudo yum install openssh-server
Depending on the system, you may also need to start the server if you don't want to reboot. The following should work on most systems:
sudo service sshd restart
For Windows, the Tectia SSH is a popular choice and comes with commercial support services. It also runs on IBM z/OS mainframes. Unix/Linux are available with support for business-critical applications.
SSH key management needs attention
SSH is often used with public key authentication to implement automation and single sign-on.
Public key authentication uses a new kind of access credential, the SSH key, for authentication. It is much more secure than traditional password authentication, especially compared to hard-coded passwords in scripts, but the keys need proper management.
Most organizations with more than a hundred servers have large numbers of SSH keys. Usually, these keys have not been properly managed and audited. An SSH risk assessment is recommended. Organizations should consider deploying key management software to establish proper provisioning, termination, and monitoring for key-based access.
Risks of unmanaged SSH keys include uncontrolled attack spread across the server infrstructure, including to disaster recovery data centers and backup systems.
Organizations should also be aware of security risks related to SSH port forwarding. It is a technology that has many good uses, but it can also enable unfettered access across firewalls. Employees and attackers can leave tunnels back into the internal network from the public Internet. This particularly affects organizations using cloud computing services.
Using telnet is not recommended
In addition to SSH, the PuTTY can be used as a telnet client. Telnet is insecure. Its use is not recommended.
The main problem with
telnet is that it transmits all passwords and any transmitted data in the clear. Anyone with access to any computer on the same network can steal user names and passwords that are transmitted. Such password sniffing attacks were very common on the Internet already in the 1990s.
Telnet sessions can also be hijacked in the network. Attackers can inject their own commands into
telnet sessions. Protection from such attacks was the main reason why Tatu Ylonen developed SSH as a replacement for
telnet in the first place. Use of
telnet has not been recommended for 20 years.
SFTP file transfer support
File transfer support is implemented as a separate program,
PSFTP. It is available only as a command-line tool. There is no graphical user interface for file transfers.
SCP file transfers are supported via the
PSCP program. This is also command-line only.
Modern implementations, such as Tectia SSH, have integrated file transfers in the terminal client.
PuTTY terminal window
PSFTP command line Use