How To Understand Ssh And How Does It Work.
SSH is a protocol for securely exchanging data between two computers over an untrusted network. SSH protects the privacy and integrity of the transferred identities, data, and files. It runs in most computers and in practically every server. It ships standard on UNIX, Linux, and macOS machines and it is used in over 90% of all data centers in the world.
How Does SSH Server Work?
The SSH protocol works on the client/server-model. The SSH client always initiates the setup of the secure connection, and the SSH server listens for incoming connection requests (usually on TCP port 22 on the host system) and responds to them.
In the connection setup phase, the SSH server authenticates itself to the client by providing its public key. This allows the SSH client to verify that it is actually communicating with the correct SSH server (instead of an attacker that could be posing as the server).
After a successful authentication the server provides the client access to the host system. This access is governed with the user account permissions at the target host system.
The secure connection between the client and the server is used for remote system administration, remote command execution, file transfers, and securing the traffic of other applications. Automated SSH sessions are very often used as a part of many automated processes that perform tasks such as logfile collection, archiving, networked backups, and other critical system level tasks.
Availability of SSH Servers
Most server operating systems come with a native, preinstalled SSH server implementation. Those that are an exception to the rule are usually installed with an SSH server from a trusted security solution vendor, such as SSH Communications Security, Bitvise, or VanDyke Software. These companies sell SSH software and provide the technical support and maintenance services for it. The open source community maintains the OpenSSH project that provides a free to use, non-commercial SSH implementation.
Quality Equals Security
As security software, the SSH server has strict requirements for software quality. The SSH server process executes with wide system privileges, and acts as an access control “gatekeeper” to the host system. This makes the SSH server an attractive target for hackers and malware. The pivotal security role of the SSH server places stringent requirements for its code quality and reliability. Bugs and defects in the code can lead to serious security vulnerabilities.
The SSH protocol has been standardized by the Internet Engineering Task Force (IETF). The standards are open and were authored as a joint effort by many security specialists and companies. As the original inventor of the protocol, SSH Communications Security was a key contributor in the standardization effort.