What is SSH?

SSH stands for Secure Shell.

Secure Shell is a network security protocol that provides a secure and reliable channel for two networked connected computers for transmitting data and confidential information.

SSH was originally built to replace insecure remote shells like Telnet.

These insecure shells sent information like passwords and usernames in plain text format that was highly vulnerable to packet sniffing and hijacking attacks.

SSH is basically developed for use on UNIX and Linux-based systems for accessing their shell accounts. There are two major versions of SSH available namely, SSH1 and SSH2.

Both versions provide secure and unbreakable encryption for secure transmissions over insecure channels such as wifi networks or the internet. SSH authenticates the remote computer and allows it to authenticate users using public-key cryptography.

SSH servers use standard TCP port 22 for contact. SSH uses a client-server model and is used for supporting tunneling, forwarding TCP ports, transferring files using SCP and SFTP protocols, X11 connections, logging to a remote computer, and executing commands on the remote computer.

It is also used for mirroring files, copying files, and synchronizing backup copies. SSH is also used for establishing and using a virtual private network with full encryption. SSH can be used for surfing the web using the SOCKS protocol through an encrypted proxy channel. 

To establish a connection with an SSH daemon for remote connection we generally require an SSH client program.  For ensuring connectivity the SSH host must be running an SSH daemon or server program while the client or requesting node must run the client program.