company logo
articles | faq | about us | contact us

            RTCubed Consulting, LLC
PuTTY: an SSH client for Windows

August 14, 2004
By Robert Thoelen III
Principal Software Engineer
RTCubed Consulting, LLC


For a few years, I've been following the development of PuTTY, a program that supports telnet, SSH, rlogin, and raw protocols. It provides a great interface for connecting to Unix servers from a Windows computer. I will be reviewing the development snapshot versions. I have found that they are stable enough to download and use, even though there is no guarantee that a snapshot version will work.

The necessity of using SSH

When I was in engineering school, I would routinely telnet back to my Linux computer in my dorm room. Things were going very well, until one day I found my computer not working properly. I looked into things a little more, and found files messed up and out of place, that I did not change. I spoke to a trusted friend about what was going on, and he suggested that my computer was hacked. Back in those days, the network mostly used hubs, and quite a bit of traffic was in the open and could be seen using a program like tcpdump. What probably happened was my telnet session was sniffed, and a hacker saw my username and password, and then proceeded to login and wreak havoc on my computer.

My friend recommended using OPIE, One Time Passwords In Everything. Maybe in a future article I'll cover that. I did use OPIE for the rest of my tenure at that school. OPIE works by issuing a challenge, which you must give a one-time response to. One the challenge is answered correctly and you are logged in, this response that was entered is no longer valid. A hacker sniffing the network cannot then use the password entered against you.

SSH works by first establishing an encrypted link, and then the username and password is sent. This is much easier to use than carrying a list of responses to challenges around. SSH has since become my secure method of remote access to UNIX systems. If you are still using telnet, you should stop immediately and install SSH. If you don't take that advice, you are really risking your systems being compromised.

Both SSH protocols are supported

Concern has been expressed by security experts on the internet that the SSH protocol with a version of 1, which uses RSA key pairs, may be subject to man-in-the-middle attacks. It is regarded by many as being inferior to version 2. I would recommend you set up your servers to accept connections from version 2 only. However, for servers not upgraded yet, or which have a good reason to stay with version 1, PuTTY will support those as well.

Proxy Options

PuTTY provides proxy options, so if you are behind a corporate firewall, you can potentially access machines outside where you work. This could be useful to administrate servers at home, or to access a free shell account from inside a company.

Port Tunneling

PuTTY gives you the ability to set up tunnels, through which you can access ports inside your network. This can be useful if you want to access a TCP/IP port, but do so with encryption. One example of this might be to access a VNC server on your local network, but to not have the VNC connection going over the internet in plain view. You could set up a local TCP port with PuTTY on 5905, and then direct it to an address and port inside your network, such as 192.168.0.50, port 5900. This would allow you to access the machine in your network by telling VNC viewer to connect to localhost:5. The possibilities and uses of tunneling are endless. Experiment, and you will find that many things that you could not access remotely suddenly become available with the power of SSH and PuTTY.

PuTTY is small

PuTTY is just one .exe file for Windows. That's right: no installation or large amounts of files to clutter your computer. This even means that if a machine is locked down to prevent installs from happening, chances are you can still make PuTTY execute and work. You could even put it on a tiny USB drive, and carry it with you in all the travels around your office.

Conclusion

PuTTY is the best solution for me when it comes to administration of my Unix servers. It is a small program, but provides so many features that you wouldn't expect to find in such a tiny package. I would encourage you to download it and give it a try. It sure beats using more expensive programs out there!

Related Links