SSH (Secure Shell) is a protocol for creating a secure connection between two computers.

The secure SSH connection provides authentication and encryption. SSH also provides compression.

The SSH protocol is defined by the IETF Secure Shell Working Group(secsh).

SSH was designed as a replacement for the legacy `telnet` application.

The computer being connected to must be running an ssh daemon, or server, process.

The computer which is attempting to connect must be running an SSH client.

SCP and SFTP – Secure File Transfer Using SSH

SCP and SFTP are replacements for the legacy `cp` and `ftp` file transfer applications.

SCP and SFTP enable secure encrypted file transfer over an SSH connection.

Free SSH Servers

There are several free SSH implementations available. Some support only SSH, while others also support SCP and SFTP.

SSH Server Operating Systems Supported
OpenSSH AIX, HP-UX, Irix, Linux, NeXT, SCO, SNI/Reliant Unix, Solaris, Digital Unix/Tru64/OSF, Mac OS X, and Cygwin
Dropbear SSH Server Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Solaris, Irix, True64, AIX, HP-UX
FreeSSH NetBSD, FreeBSD, Linux
lsh GNU/Linux on Sparc, Intel, PPC and Alpha, FreeBSD, Solaris and IRIX
SSHD-NT Windows
OpenSSH for Windows Windows

Free SSH Clients

SSH Client Operating Systems Supported
OpenSSH AIX, HP-UX, Irix, Linux, NeXT, SCO, SNI/Reliant Unix, Solaris, Digital Unix/Tru64/OSF, Mac OS X, and Cygwin
FreSSH NetBSD, FreeBSD, Linux
lsh GNU/Linux on Sparc, Intel, PPC and Alpha, FreeBSD, Solaris and IRIX
OpenSSH for Windows Windows
PuTTY Win32 and Unix
MSSH Windows
WinSCP Windows (SCP and SFTP, no SSH)
Fugu Macintosh
MacSSH Macintosh
Cyberduck Macintosh (SFTP only)
pssh Palm OS
TuSSH Palm OS

Note: I have specifically excluded SSH clients and servers which do not support the SSH v2 protocol.

For more information on SSH, read the SSH FAQ.