Mettre en place une connexion SSH via l'échanges de clés

Etape 1: générer une paire de clés

Ouvrez un terminal et taper la commande suivante:

ssh-keygen -t ed25519

Je vous recommande de laisser l'emplacement par défaut pour stocker vos clés en appuyant sur Entrée. Mais vous pouvez changer d'emplacement si vous le désirez.

Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/<user>/.ssh/id_ed25519):

Entrez une phrase secrète pour protéger la clé privée:

Enter passphrase (empty for no passphrase):

Remarque : Si vous voulez vous connecter en SSH sans mots de passe, ne mettez pas de phrases secrète (appuyez simplement sur Entrée)

Tapez la une seconde fois:

Enter same passphrase again:

Et vos clés sont maintenant créées!

Your identification has been saved in /home/<user>/.ssh/id_ed25519
Your public key has been saved in /home/<user>/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:EZvGfUbfF9DS/H2gSh1Pe7QdEz1zdw4mGmppw9JST+Y <user>@localhost
The key's randomart image is:
+--[ED25519 256]--+
|        .   ..=oo|
|       ..=+.oo=XB|
|       +*B.+oBo*/|
|      o.O.Eoo o.O|
|       =So .   ..|
|          .      |
|                 |
|                 |
|                 |
+----[SHA256]-----+

Etape 2: Envoyer votre clé publique sur un hôte distant

**Pour Linux :


ssh-copy-id -i /home/<user>/.ssh/id_ed25519.pub <user_distant>@<hostname>

"-i" permet de spécifier le fichier qu'on enverra sur l'hôte distant. En l'occurrence, il s'agit de la clé publique.

**Pour Windows :


type C:\Users\<votre_utilisateur>\.ssh\id_ed25519.pub | ssh <user_distant>@<hostname> "cat >> ~/.ssh/authorized_keys"

Remplacer hostname par l'adresse IP ou le nom d'hôte du serveur distant.

Etape 3: Se connecter en SSH sur l'hôte distant

Connectez vous en SSH avec la commande suivante:

ssh <user_distant>@<hostname_distant>

Vous devrez alors vous connecter à l'hôte distant afin de copier votre clé publique. A votre prochaine connexion, vous devrez indiquer la phrase secrète de votre clé.

Puis vous n'aurez plus besoin de mettre de mot de passe du tout pour vous connecter!

#ssh #linux #security