DevOps — Linux — The anatomy of SSH encryption

Milos Vasiljevic
8 min readDec 27, 2023

Introduction

SSH is the most common and secure security protocol for remote server administration. Introduced in 1995 to replace Telnet (and other protocols that no longer ensured secure data transmission between client and server), the robustness of its operation makes it a protocol that is still widely used today (and not likely to stop anytime soon).

You don’t need to know how SSH encrypts connections to use it. But if you want to get the most out of it, and be aware of potential flaws (which are more to do with what’s going on around it than with the protocol itself), it’s a good idea to know how it works.

So let’s start by taking a quick look at how a connection works. Without going into too much detail. Next, we’ll look at symmetrical encryption, which enables the connection to be initialized and data sharing between client and server to begin. We’ll then talk about asymmetric encryption, which is used for authentication.

Enjoy your reading!

How we establish an SSH connection from a client to a server ?

First of all, since we’re going to be using these terms a lot (as we did in the introduction), let’s explain what a client and a server are in the context of SSH.

--

--