SSH keys are the set of security keys that covers your data from the trespassers. These keys work on the most effective authentication systems and require passwords to unlock and allow one access to use the information secured. SSH stands for Secure Socket Shell, in a simple language it is also known as Secure Shell.
SSH keys are two keys basically, paired together, namely — a public key and a private key. A private key is owned by the officials and the public key is familiar to everyone. The credentials to access the private keys are only given when required and needed. These keys are available in different sizes and different types.
SSH keys were created in 1995 by Tatu Ylonen. He felt the need to come up with a better security network system because a lot of cybercrimes were being observed at that time and that is how SSH keys were made, with the concept of providing access to the data through username and password, and the one with correct credentials and identity can get the permission.
The key pairs are also used for other tasks as well other than security and they are — managing networks, operating systems, and configurations.
SSH keys work by following the mechanism of the resemblance of passwords. It is actually a client-based server working mechanism. There are two working phases of SSH Keys and they are :
Phase 1 — Shared Secret Generation
In the very first phase, both the parties client end, and the server end agree to the protocol and the procedure, thus starts with encryption. After which a public key is shared with the client and a session key is shared b/w both the parties to carry the session.
Phase 2 — Authentication of the client
Server authentication takes place hereafter the client receives the encrypted password and SSH keys come into play.
GENERATING SSH KEYS -
A specific command called ssh-keygen is used to generate the keys. Once the command is created, you can generate your pair of keys after you answer some of the questions.
SSH keys are securely stored at ~ /.ssh directory, if the user doesn’t have the directory, the ssh-keygen command creates it for the user with correct permissions.