Aller au contenu

Clé SSH

Qu'est-ce que les clés SSH ?

SSH Key

Les clés SSH sont des identifiants d'accès utilisés dans le protocole SSH (Secure Shell). Un shell sécurisé est un protocole réseau qui permet de se connecter de manière sécurisée d'un ordinateur à un autre, ainsi que de gérer des réseaux, des systèmes d'exploitation et des configurations. Fonctionnellement, les clés SSH sont presque identiques aux mots de passe, mais il est plus sécurisé de se connecter à un serveur avec des clés SSH qu'avec uniquement des mots de passe, car le déchiffrement de la clé est très difficile, voire impossible.

Les clés SSH sont toujours utilisées par paires, et chaque paire est composée d'une clé publique et d'une clé privée. Ce sont deux types de clés.

  1. Les clés publiques, également appelées clés autorisées, déterminent qui peut accéder à chaque système.
  2. Les clés privées ou d'identité identifient les utilisateurs et leur donnent accès.

Comment configurer des clés SSH ?

Vous avez besoin d'algorithmes de cryptographie à clé publique pour générer des clés SSH, les plus couramment utilisés étant les clés Ed25519 et RSA. Les clés SSH sont configurées à l'aide d'un outil de génération de clés.

Créer une clé SSH sur Mac et Linux

Étant donné que ces deux systèmes d'exploitation disposent d'applications de terminal modernes qui s'intègrent au package SSH, les étapes de création d'une clé SSH sont identiques pour les deux.

  1. Ouvrez un terminal de commandes et exécutez ce qui suit :

Configurer la clé SSH

bash
ssh-keygen -t ed25519 -C "[email protected]"
  1. Vous devez ensuite choisir l'emplacement du fichier.

Enregistrer la clé SSH

text
> Enter a file in which to save the key (~/.ssh/id_ed25519): [Press enter]
  1. Vous devez ensuite ajouter une phrase de passe sécurisée, qui sera requise chaque fois que la clé SSH sera utilisée.

Définir un mot de passe pour la clé SSH

text
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
  1. Ajoutez la nouvelle clé SSH à ssh-agent. ssh-agent est un outil responsable du stockage des clés privées, mais il gère également les demandes de signature à l'aide de clés privées à des fins de sécurité.

Exécutez la commande suivante pour vous assurer que ssh-agent est en cours d'exécution :

Clé SSH sur Linux

bash
eval "$(ssh-agent -s)"
> Agent pid 59566

Si ssh-agent est en cours d'exécution, ajoutez la nouvelle clé SSH à l'agent SSH local en exécutant la commande suivante :

Clé SSH

bash
ssh-add ~/.ssh/id_ed25519

(Remarque : Sur les versions récentes de macOS (OpenSSH 8.8+), ssh-add -K est déprécié. Au lieu de cela, ajoutez AddKeysToAgent yes à votre fichier ~/.ssh/config pour persister automatiquement les clés dans le trousseau.)

  1. Copiez la clé publique sur le serveur distant. Pour utiliser la clé pour l'authentification, vous devez l'ajouter au fichier ~/.ssh/authorized_keys du serveur distant. Exécutez la commande suivante depuis votre machine locale :
bash
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote_host
  1. Vérifiez la connexion. Testez que vous pouvez vous connecter au serveur distant en utilisant votre nouvelle clé :
bash
ssh user@remote_host

Créer une clé SSH sur Windows

Vous avez besoin de Git Bash pour créer une clé SSH sur le système d'exploitation Windows. Ouvrez Git Bash et exécutez la commande suivante pour générer la clé :

bash
ssh-keygen -t ed25519 -C "[email protected]"

Suivez les mêmes invites que ci-dessus pour définir l'emplacement du fichier et la phrase de passe. Après avoir généré la clé, copiez-la sur votre serveur distant ou votre service d'hébergement Git à l'aide de la commande ssh-copy-id ou en collant le contenu de id_ed25519.pub dans les paramètres de clé SSH du service.

Pratique

Quels sont les aspects importants des clés SSH dans le contexte de Git ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.