Générer une clé SSH ed25519 sous Linux
Par Équipe Clicademic
Une clé SSH remplace le mot de passe quand vous vous connectez à un serveur ou à une forge Git. Voici comment en créer une, protégée par une phrase de passe, en cinq minutes.
Prérequis
- Un ordinateur sous Linux avec un terminal
- Le paquet openssh-client, installé par défaut sur Debian et Ubuntu
Une clé SSH se compose de deux fichiers : une clé privée, qui ne quitte jamais votre ordinateur, et une clé publique, que vous donnez sans risque aux serveurs auxquels vous voulez vous connecter. Le type ed25519 est aujourd'hui le choix recommandé : rapide, sûr et court.
Étapes
Ouvrez un terminal
Sous GNOME (Debian, Ubuntu), appuyez sur Ctrl + Alt + T, ou cherchez « Terminal » dans vos applications.
Lancez la création de la clé
Remplacez l'adresse par la vôtre : elle sert seulement d'étiquette pour reconnaître la clé plus tard.
$ ssh-keygen -t ed25519 -C "vous@exemple.com"Gardez l'emplacement proposé
Le programme demande où enregistrer la clé. Appuyez sur Entrée pour garder l'emplacement par défaut,
~/.ssh/id_ed25519.Generating public/private ed25519 key pair. Enter file in which to save the key (/home/vous/.ssh/id_ed25519):Attention
Si le programme répond que
id_ed25519existe déjà et demandeOverwrite (y/n)?, tapezn. Écraser une clé en service vous couperait l'accès aux serveurs qui l'utilisent.Choisissez une phrase de passe
Tapez une phrase de passe, appuyez sur Entrée, puis retapez-la pour confirmer. Rien ne s'affiche pendant la saisie : c'est normal.
Enter passphrase for "/home/vous/.ssh/id_ed25519" (empty for no passphrase): Enter same passphrase again:Astuce
Une phrase de plusieurs mots, comme trois chats bleus dorment au soleil, se retient mieux qu'un mot de passe court et résiste bien mieux.
Affichez votre clé publique
$ cat ~/.ssh/id_ed25519.pubRésultat attendu
Une seule ligne qui commence par ssh-ed25519 AAAA et se termine par l'adresse que vous avez indiquée.
Et ensuite?
Copiez cette ligne dans les paramètres de votre compte sur le service qui la demande : GitHub, GitLab, Gitea ou votre hébergeur. Ne transmettez jamais le fichier id_ed25519 sans extension : c'est votre clé privée.
Ça ne marche pas?
Si le terminal répond bash: ssh-keygen: command not found, installez le client OpenSSH avec sudo apt install openssh-client, puis reprenez à l'étape 2.