What is SSH? Here's the Explanation

SSH is one of the important elements that allows your network or computer to be secure at all times. You yourself must have this SSH.

SSH is one of the important elements that allows your network or computer to be secure at all times. You yourself must have this SSH. But maybe you don't understand what SSH really is all about. Well don't worry because in this article we will discuss more about this SSH.

What is SSH?

SSH, or Secure Shell, is a remote administration protocol that allows users to control and modify their remote servers over the internet. The service was created as a secure replacement for unencrypted Telnet and uses cryptographic techniques to ensure that all incoming and outgoing communications from remote servers occur securely and encrypted.

Then, the service also provides a mechanism to authenticate the remote user, transfer the input from the client to the host, and send the result (output) back to the client.

Whoever it is, whether Linux or macOS users can use SSH inside their remote server directly from a terminal window. Windows users can take advantage of SSH client applications, such as PuTTY. In addition, you can also run the command shell in the same way as if you were physically operating a remote computer.

How does SSH work?

If you are currently using Linux or Mac, then it is not a difficult problem to use SSH. If you are using Windows, then you need to have an SSH client to open an SSH connection. The most widely used SSH client is PuTTY.

SSH command consists of 3 different parts:

ssh {user}@{host}

The SSH key commands the system that you want to open an encrypted Secure Shell Connection. {user} refers to the account you want to access. For example, let's say you want to access the root user, which is basically the same for system administrators with complete rights to any modifications to the system. {host} refers to the computer you want to access. This could be your IP address (for example, 244.235.23.19) or a domain name (for example, www.qwertydomain.com).

When you press the Enter key, you will be asked to enter the password for the requested account. When typing the password, you won't see anything on the screen. When in fact your password is being transmitted. After inputting the password, press the Enter key once again. If the password you entered is correct, a remote terminal window will appear.

Understanding Different Encryption Techniques

A significant plus offered by SSH through its predesessors is the use of encryption to ensure a more secure transfer of information between hosts to clients. The host points to the remote server you want to access, on the other hand the client is the computer you want to use to be able to access the host. There are three different encryption technologies that SSH can use:

1.     Symmetric encryption

2.     Asymmetric encryption

3.     Hashing

Symmetric Encryption

Symmetric encryption is a form of encryption in which the secret key is used both for encryption and decryption of messages by the client and also by the host. Effectively, anyone who has the key can decrypt the message being transferred.

Symmetric encryption is often or more familiarly called shared key or shared secret encryption. Usually only one key is used, or sometimes a pair of keys where one key can be easily calculated using another key.

The symmetric key is used to encrypt the entire communication during an SSH Session. Both the client and the server obtain the secret key using the approved method, and the resultant key will never be notified to any third party.

However, most importantly note that secret tokens are specific to each SSH session, and are previously created for client authentication. Once the key has been created, all packets moved between the two systems must be encrypted with a private key. This includes passwords typed by the user, so that credentials will always be protected from network packet analyzers that can hack your website.

Asymmetric Encryption

Unlike symmetric encryption, asymmetric encryption uses two separate keys for encryption and decryption. These two keys are known as the public key and the private key. Together, these two keys create a pair of public-private keys.

The public key, as the name suggests, is openly distributed and shared to all parties. Although closely related to the private key dal functionality, computation cannot be done on the private key of the public key. The relationship between these two keys is very complicated: a message encrypted with a system public key can only be decrypted by the same system belonging to the private key. This one-way relationship indicates that the public key cannot decrypt its own messages nor decrypt anything that has been encrypted by the private key.

The private key must remain confidential, for example for the connection to be secured so that no third party should know about it. The advantage of all these connections lies in the fact that the private key is never allowed to be known as it is the only component that can decrypt messages that have been encrypted using a public key. Therefore, any party with its ability to decrypt publicly known messages must have a matching private key.

Hashing

One-way hashing is a form of cryptography used in Secure Shell Connections. The one-way-hash function differs from the two forms of encryption mentioned above in the sense that it is not intended to be decrypted.

The function of a one-way-hash is to create a unique value of a fixed length for each input that does not show a clear trend that can be exploited. That's why those functions are so impossible to reverse.

It is fairly easy to create a cryptographic hash from a given input, but it is not possible to create an input from that hash. This means that if the client stores the correct input, it can create a crypto-graphic hash and compare its values to ascertain whether the client has the correct input.

SSH uses hashes to verify the authenticity of messages. We can do this using HMAC, or better known as Hash-based Message Authentication Codes. This step is to ensure that the received command is not manipulated in any way.

Each transmitted message must have a MAC, which is calculated using a symmetric key, packet sequence number, and message body. The message is sent outside of symmetric encryption data for the final part of the communication packet.
Start here

Have a site condition you want to discuss?

Tell us about it. Initial site survey and technical consultation at no cost.