Putty – Recommended Default Settings for a Network Engineer

Putty is is a great piece of software. Because it works and it’s free I find it installed on most corporate desktops as the default software for terminal client on Windows. ((After all, Microsoft doesn’t supply any SSH in Windows or even telnet capability in Vista)). Not many people seems to realise that Putty is highly customisable and has a number of features that will improve your working environment.

Set the Rows & Scrollback Lines

By default Putty only keeps the last 200 lines of text displayed on your screen in the scrollback buffer. For a typical network engineer, this isn’t enough to show the configuration, must less any decent amount of text. Typically I would set the default to be 20000 lines. And since most screens allows more than 25 rows, I would increase the Window Rows to forty. If you change the Windows Rows to forty, then you should also change your device terminal settings to use forty lines as well. See IOS – Setting the Terminal Windows Length for a good-ish description of this.

Note that every Putty session will allocate a block of memory sufficient to hold those lines in a buffer. Making it too large may impact your computer by reducing the amount of memory available.

Setting the SCROLLBACK to 20000 lines

Setting the SCROLLBACK to 20000 lines

Using Font Aliasing

The choice to use Antialiased or aliased fonts is a bit complicated, but its a serious decision affecting how easy on the eyes ad how quickly you can read the screen. Less reading errors results in better work performance.

The best choice here is ClearType.

Cleartype Font Aliasing

Cleartype Font Aliasing

Window Names/Title

It’s common for me to have more than ten putty sessions open at a single time. With that many windows you need a way to tell them apart, thus, some names on the box would be useful in identifying. them.

Window Title

Window Title

And the result will look something like this:

Title of the Window for Putty

Title of the Window for Putty

Keepalives and enabling Nagle’s Algorithm

TCP Keepalives and Nagles algorithm


Nagles Algorithm

Nagle’s algorithm is particularly useful when attempting to transfer a lot of information in the terminal. For example, when logging at high speed or pasting large configurations to your console (there are many other criteria that affect this, but this is one of them).

Wikipedia – http://en.wikipedia.org/wiki/Nagle’s_algorithm

Nagle’s algorithm, named after John Nagle, is a means of improving the efficiency of TCP/IP networks by reducing the number of packets that need to be sent over the network.
Nagle’s document, Congestion Control in IP/TCP Internetworks (RFC896) describes what he called the ‘small packet problem’, where an application repeatedly emits data in small chunks, frequently only 1 byte in size. Since TCP packets have a 40 byte header (20 bytes for TCP, 20 bytes for IPv4), this results in a 41 byte packet for 1 byte of useful information, a huge overhead. This situation often occurs in Telnet sessions, where most keypresses generate a single byte of data which is transmitted immediately. Worse, over slow links, many such packets can be in transit at the same time, potentially leading to congestion collapse.


Keepalives are most useful when running terminal sessions through firewalls. If a telnet/ssh terminal doesn’t keep traffic flowing then it will mark the session for timeout. Once the session times out you will need to reconnect and go through the login procedure again.

SSH Options

Lets looks at some of the SSH Connection Options and which items you should think about.

SSH Connections Options

SSH Connections Options

SSH Version

Putty has a default that selects SSH Version 2 but will fallback to SSH Version 1 if needed. This is the best choice for defaults and recommend that you do NOT change this.

Note that early versions of IOS did not support Version 2 (SSHv2 was introduced in June 2007 in IOS Version 12.1.19E, SSHv1 was Sep 2005 around IOS Version 12.1.3T ), and only Version 1 and some versions of Putty did not fall back gracefully. For these cases, you would need to configure the version for that session only, not as a default for your global default.

Encryption Algorithms

It’s generally accepted that DES is insecure (for practical purposes). However, if you have a Cisco device that doesn’t have an Strong Encryption license (it is free, all you have to do is supply the serial number and fill out the form on Cisco’s web site to meet the US government requirements that says you aren’t a terrorist – www.cisco.com/go/license) then you might want to set this for a single session. I wouldn’t set this as a global default.

SSH Compression

SSH Secure Shell uses GNU ZLIB (LZ77) for compression. The “zlib” compression is described in RFC 1950 and in RFC 1951.

The client can request a compression level with a number after +C (from +C1 to +C9). In this case, the compression level is between the levels requested by the client and offered by the server. For example, if the server offers level 6 (the default) and the client asks for level 1, level 2 is used.

Compression is worth using if your connection is slow (for example a modem connection). The efficiency of the compression depends on the type of the file, and varies widely. It is close to 0% for already compressed files like zip and often 50% or even more for text files.((http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Compression.html))

As far as I can tell, Cisco IOS does not support compression. I believe that it wouldn’t make any difference since transferring large volumes of data is not the normal condition when connecting to terminal sessions.

Can be safely left alone.

Serial Settings

Putty did not always have serial capability. If it doesn’t show then you need to download a later version and get it installed. Putty Home Page.

Putty Serial Console settings

Putty Serial Console settings

Since 9600,N,8,1 is the default serial configuration for Cisco equipment, I would not change this. I have seen some companies who have a standard configuration for IOS devices that set the serial port bit rate to 38400, however, I would still not change the global default.

Saving the Global Default

This post covers saving these default settings for every new connection that you make with putty.


That’s enough for this post I think, I have some more things that I think are worth documenting, but I will do them later on. You can see all the posts by checking the Console Mastery series button at the top of the page, which lists all the post in the Console Mastery series.

If you have any tips or tricks for putty, either get in contact via the Contact Form or drop me an email myetherealmind -£$- gmail dot com.

Other Posts in A Series On The Same Topic

  1. Putty - Fixing Right Click Paste (9th January 2011)
  2. Putty, the Command Line and NO clicky clicky (5th October 2009)
  3. Putty - Recommended Default Settings for a Network Engineer (21st September 2009)
  4. Setting the Defaults for PUTTY (20th September 2009)
  • MCL.Nicolas

    Awesome !
    Already have a few of your tips in my saved config 😉

    THanks greg !

  • http://evilrouters.net Jeremy L. Gaddis

    Vista comes w/ the Microsoft telnet client, it just isn’t installed by default.

    Besides, everyone knows that SecureCRT > * anyway. =)

  • David Farrell

    I’ve found changing the default paste behaviour helps, for those moments you accidentally catch the right mouse button with a paste buffer full of config!!

  • http://andrew.wingedwheel.net Andrew Short

    Serial settings: Turn off flow control. Cisco serial terminals don’t use it and that’s about 95% of the my use of the serial port.

    I also change the color of the font to a bright yellow or green and increase the size of the font to make it more readable. Not just to me, but a lot of times I am asking someone to watch over my shoulder.

    Now that I’ve said “yellow or green” I’m thinking of going amber for a while.

  • http://dev.null0.nl Wouter Prins

    Also install the Monaco font, its a great font for terminal sessions. (even on windows ;))

  • thejapa

    Hey, the auto-log feature is very useful. I thought you would like to use that.

    All my putty sessions are automatically logged to an encrypted directory on my work PC.

    My auto-log feature creates a new log file for each session, based on year-month-day-hour-minute-hostname.

    I don’t even worry about creating chunks of text for documenting. I simply work then I open the log to write emails and stuff.

  • uwcableguy

    great info. don’t forget to change your stop bits to ‘2’ for console connections on IOS-XR on the ASR9000 routers