DEV Community

Cover image for SSH - A web developer should know...
Tonmoy
Tonmoy

Posted on

SSH - A web developer should know...

SSH stands for secure shell protocol.

Just like modern web browsers uses https/ http protocol to communicate with servers,
SSH allows to establish secure communication between systems or two computers, remotely access another computer, clone or pull/push files from GitHub servers and much more.

Let's deep dive more and see how it works?

SSH breaks data into series of package and encrypts the data before transmitting.

The SSH command consists of 3 distinct parts for Mac and Linux users -
ssh {user}@{host}

Here, {user} represents the account you want to access like as your system root user.
{host} refers to the computer or system you want to access. It can be an IP Address (e.g. 244.235.23.19) or a domain name (e.g. www.xyzdomain.com).

Understanding three encryption techniques of SSH

  1. Symmetrical encryption
  2. Asymmetrical encryption
  3. Hashing.
  • Symmetrical encryption - It uses two separated keys to communicate between the systems.

  • Asymmetrical encryption - It uses public keys, private integrated keys for communicating between the systems
    and also uses key exchange algorithm - Difiie Hellman key exchange algorithm.

  • Hashing - Hashing is a technique of transforming a key or string to another value to enhance the security.

What a web developer has to do with it??

Every developer works on any cloud platform and uses tools like Github to host their code. When we are asked to Fork or Clone a Github repository to our account or our local drive, Github comes with two options i.e. HTTPS or SSH.

Image description

Here, we can create an SSH key for our system using ssh-key-gen and add it to our Github account.

Top comments (0)