The SSH (Secure Shell) specifies a way for a user to remotely control another computer through a secure communications channel. The remote computer must run an SSH server; the user uses an SSH client to connect to the server. From the perspective of the user, an SSH client behaves just like a telnet (or rlogin) client, except that the communication is encrypted, so a third party cannot spy on it.
In addition to a secure interactive session, an SSH server generally provides facilities for secure file copying and wrapping any normal TCP/IP connection in a layer of security. (This is known as tunneling.) SSH supports a variety of authentication methods so both computers are satisfied that they know the identity of the other.
SSH clients may implement some or all of the above functionality. Not all permit secure file copying, and some have really extensive authentication methods available.
There are two versions of the SSH protocol: SSH1 and SSH2. They are not particularly compatible, so it is important to choose an SSH client whose version matches that of the SSH server on the remote computer.