\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.
