\C{intro} Introduction to PuTTY PuTTY is a free SSH, Telnet, Rlogin, and SUPDUP client for Windows systems. \H{you-what} What are SSH, Telnet, Rlogin, and SUPDUP? If you already know what SSH, Telnet, Rlogin, and SUPDUP are, you can safely skip on to the next section. SSH, Telnet, Rlogin, and SUPDUP are four ways of doing the same thing: logging in to a multi-user computer from another computer, over a network. Multi-user operating systems, typically of the Unix family (such as Linux, MacOS, and the BSD family), usually present a \i{command-line interface} to the user, much like the \q{\i{Command Prompt}} or \q{\i{MS-DOS Prompt}} in Windows. The system prints a prompt, and you type commands which the system will obey. Using this type of interface, there is no need for you to be sitting at the same machine you are typing commands to. The commands, and responses, can be sent over a network, so you can sit at one computer and give commands to another one, or even to more than one. SSH, Telnet, Rlogin, and SUPDUP are \i\e{network protocols} that allow you to do this. On the computer you sit at, you run a \i\e{client}, which makes a network connection to the other computer (the \i\e{server}). The network connection carries your keystrokes and commands from the client to the server, and carries the server's responses back to you. These protocols can also be used for other types of keyboard-based interactive session. In particular, there are a lot of bulletin boards, \i{talker systems} and \i{MUDs} (Multi-User Dungeons) which support access using Telnet. There are even a few that support SSH. You might want to use SSH, Telnet, Rlogin, or SUPDUP if: \b you have an account on a Unix system (or some other multi-user OS such as VMS or ITS) which you want to be able to access from somewhere else \b your Internet Service Provider provides you with a login account on a \i{web server}. (This might also be known as a \i\e{shell account}. A \e{shell} is the program that runs on the server and interprets your commands for you.) \b you want to use a \i{bulletin board system}, talker or MUD which can be accessed using Telnet. You probably do \e{not} want to use SSH, Telnet, Rlogin, or SUPDUP if: \b you only use Windows. Windows computers have their own ways of networking between themselves, and unless you are doing something fairly unusual, you will not need to use any of these remote login protocols. \H{which-one} How do SSH, Telnet, Rlogin, and SUPDUP differ? This list summarises some of the \i{differences between SSH, Telnet, Rlogin, and SUPDUP}. \b SSH (which stands for \q{\i{secure shell}}) is a recently designed, high-security protocol. It uses strong cryptography to protect your connection against eavesdropping, hijacking and other attacks. Telnet, Rlogin, and SUPDUP are all older protocols offering minimal security. \b SSH and Rlogin both allow you to \I{passwordless login}log in to the server without having to type a password. (Rlogin's method of doing this is insecure, and can allow an attacker to access your account on the server. SSH's method is much more secure, and typically breaking the security requires the attacker to have gained access to your actual client machine.) \b SSH allows you to connect to the server and automatically send a command, so that the server will run that command and then disconnect. So you can use it in automated processing. The Internet is a hostile environment and security is everybody's responsibility. If you are connecting across the open Internet, then we recommend you use SSH. If the server you want to connect to doesn't support SSH, it might be worth trying to persuade the administrator to install it. If your client and server are both behind the same (good) firewall, it is more likely to be safe to use Telnet, Rlogin, or SUPDUP, but we still recommend you use SSH.