SSH (Secure SHell) is a network protocol which provides a replacement for insecure remote login and command execution facilities, such as telnet, rlogin and rsh. SSH encrypts traffic in both directions, preventing traffic sniffing and password theft. SSH also offers several additional useful features:
• Compression: traffic may be optionally compressed at the stream level.
• Public key authentication: optionally replacing password authentication.
• Authentication of the server: making ”man-in-the-middle” attack more difficult
• Port forwarding: arbitrary TCP sessions can be forwarded over an SSH connection.
• X11 forwarding: SSH can forward your X11 sessions too.
• File transfer: the SSH protocol family includes two file transfer protocols.

SSH was created by Tatu Ylonen in 1995 and was at first released under an open-source license. Later versions were to bear increasing restrictive licenses, though they generally remained free for non-commercial use. He went on to form SSH Communications security which sells commercial SSH implementations to this day. The earlier versions of his code implement what is now referred to as SSH protocol v.1.

In 1997 a process began to make the SSH protocols Internet standards under the auspices of the IETF. This lead to the development of version 2 of the SSH protocol. In the rewrite, the protocol was split into a transport layer, and connection and authentication protocols. Several security issues were also addressed as part of this process.

Download pdf SSH tips, tricks & protocol tutorial