SSH, or Secure Shell, is a widely used program available on Unix-based operating systems for enabling secure communication between computers. The port 22 is assigned for SSH allowing devices to establish SSH connections for remote administration and file transfer.

SSH communication layer

SSH operates as a program that runs on Unix systems and has its own communication layer built on top of the IP stack. It functions at higher level, providing secure communication services on top of the basic networking protocols. The SSH layer is responsible for encryption, authentication, and the secure exchange of data between the client and the sever.

Encrypted login sessions

One of the primary purpose of SSH is to establish encrypted login session between two Unix systems. When a user initiates an SSH connection to a remote server, the communication between the user’s client and the server is encrypted, this process also involves passwords. This encryption ensures that any data exchanged during the session, including login credentials and commands, remains confidential and cannot be easily intercepted by malicious parties.

Public key cryptography

SSH can be configured to support asymmetric cryptography, which users generate a pair of public and private keys for authentication, enhanced security.

  • The user’s public key is stored on the remote system, typically in a file called authorized_keys.
  • During authentication, the user’s SSH client encrypts a message using their private key and sends it to the server.
  • The server decrypts the message using the stored public key. If the decryption is successful, it confirms that the user possesses the corresponding private key, the authentication is established.

Computer_networksNetwork_securityINFO1112SSHAsymmetric_cryptographyKey_pair