Secure Shell (SSH) is a network protocol which uses a secure channel for data exchange between two devices in a network. It was created by the SSH Communication Security Ltd.

The Secure Shell program enables logging on to another computer within a network. It allows execution of commands in a remote machine and file transfer from one device to another.

SSH offers solid authentication and secure communication when using unsecured channels. Moreover, it guards a network from DNS spoofing, IP spoofing, and IP source routing. A user attacking a network will be unable to play back traffic or hijack connections when encryption is activated. The attacker can only drive SSH to disconnect.

Linux and Unix-based systems utilize SSH to access shell accounts as a replacement for unsecured remote shells. These unsecured shells transmit passwords and such information in plaintext which make them prone to interception. SSH’s encryption endows confidentiality of information and integrity of data over unsecured networks like the Internet.

In addition, SSH listens through the traditional TCP port. Logging into remote machines and executing commands are the typical processes that use SSH. SSH also forwards TCP ports and X11 connections, supports tunneling, and transfer files with SCP or STFP protocols. SSH uses the client-server model.

Furthermore, SSH utilizes public-key cryptography for authentication of the remote computer; thus, allowing the computer’s authentication of the user. It is virtually impossible for an outside user to save passwords since the login session is encrypted.

SSH is present in most Operating Systems, including FreeBSD, Mac OS X, Linux, OpenVMS, and Solaris. It also operates under RSA authentication.