You can download a copy of the software for the Windows platform from the download page. Detailed installation instructions are provided on the installation instructions page.
A window titled PuTTY Configuration will open after starting the program. This window has a configuration pane on the left, a Host Name (or IP address) field and other options in the middle, and a pane for saving session profiles in the lower right area as seen in the image below:
For simple use: enter a domain name or IP address of the host you want to connect to in the Host Name field and click Open (or press Enter).
When you connect to a server for the first time, you may see a PuTTY Security Alert dialog about the server's host key not being cached in the registry. This is normal when you are connecting to a server for the first time. Select yes to continue with the connection, and it will update the cache for future connections to that server. If you are unsure, you can check the displayed key fingerprint and make sure it is the same that is used by the server.
A terminal window will appear after making a successful connection. It should first ask for your username and then password. After a successful login, you should get a command line on the server you are connected to.
You can then type into the terminal Window. You are now connected to the server, and anything you type in the Window is sent to the server. Server's responses are displayed in the Window. You can run any text-based applications on the server using the window. The session terminates when you exit the command-line shell on the server (typically by typing exit) to the command line or pressing Control-D. Alternatively, you can forcibly terminate the session by closing the terminal window.
The port field specifies the TCP/IP port to connect. For SSH, this is the port on which the SSH server runs. Normally it can be left to 22 unless otherwise specified by the requirements of the server you are connecting to.
Connection type selection should be left as SSH unless specified by the requirements of the server you are connecting to.
Serial refers to a serial port, a communications mechanism for connecting computers to peripheral devices.
This section allows you to save your settings as named profiles. Just write the name of your new profile in the Saved Sessions box and click Save to create a new profile. The host name and your other settings are saved in the profile.
Saved profiles appear in the larger box below it. Initially it will contain just Default Settings. Profiles you save will be included there. Select a profile and click Load to use a saved profile. Select a profile and click Delete to delete the selected profile.
Finally, the Close window on exit setting specifies whether the terminal window should be automatically closed when the connection is terminated.
More options can be found on the left pane titled Category. Select a category from the tree, and the right pane will change to show configuration options for that category. The initially chosen options belong to the Session category.
Only the more relevant options are described here.
The options in this category influence terminal emulation and keyboard mappings. They are largely self-explanatory and will not be covered in this guide.
The window options influence the appearance and behavior of the terminal window. It can also specify how characters are translated on output and select fonts and colors for the window.
Data options specify data transferred through the connection. The Auto-login username specifies the user to log in as, so that the name will not have to be entered every time. Proxy options may be needed in enterprises that do not allow outgoing Internet connections without using a SOCKS proxy or other similar mechanisms.
The Telnet, Rlogin, and Serial categories contain in-depth options for those protocols.
The SSH options, however, are important if you want to use public key authentication. Note that you need to open the SSH options subtree by clicking on the small [+] symbol. Otherwise, you will not see all the options.
The Kex (key exchange), Host Keys, or Cipher options are seldom changed. Leave these options at their default values, unless otherwise specified by the requirements of the server you are connecting to.
The Auth subtree contains some options that may be useful. When Auth is clicked, it shows a pane titled Options controlling SSH authentication. To enable public key authentication, you just generate an SSH key and then click the Browse button in the Authentication parameters box in the middle right area of this configuration pane. For more information, see also configuring public key authentication for PuTTY. Users may also want to check the Allow agent forwarding checkbox to use key-based single sign-on.
PuTTY offers support for Active Directory single sign-on. Technically it uses the Kerberos protocol via a programming interface called GSSAPI. In the SSH protocol, the mechanism is called GSSAPI authentication. Enterprise users using Kerberos authentication (e.g., via the Centrify or Quest Authentication Services aka Vintela) may want to take advantage of the single-sign-on capability. The settings for GSSAPI authentication can be found under the SSH / Auth section. Note that you must again expand the Auth section by clicking on the [+] symbol to see the GSSAPI options.
X11 is a protocol and system for running graphical applications on Unix and Linux. It supports running graphical applications remotely over a network out-of-the-box.
PuTTY does not implement an X11 server (the display side), but it can work with some other product that implements X server functionality on Windows. A popular free alternative is XMing.
To use an X11 server, you need to check the Enable X11 forwarding box and enter localhost:0.0 in the X display location box. The other settings need not be touched.
The final category of configuration options we'll discuss is Tunnels. They are used for configuring SSH tunneling, also called SSH port forwarding. This panel can be used for defining forwarding for the connection. Forwarding’s are saved in the profile.
To add a local forwarding (i.e., TCP/IP port on local machine forwarded to a port on the remote machine or to a machine reachable from the remote machine), write the source port in the Source port field, the destination host and port (e.g., www.dest.com:80) in the Destination field, and select Local. The click Add.
To add a remote forwarding (i.e., a TCP/IP port on the remote machine forwarded to a port on the local machine or to a machine reachable from the local machine), specify Source port on the destination machine and Destination that is reachable from the local machine.
Normally you need not check Local ports accept connections from other hosts or the same for remote ports. However, if the connection to the forwarded port is from an over a network instead of from localhost, then you need to check these. There is a small security risk, but usually it is not a problem in the cases where SSH tunneling is used.