Skip to Content
DocumentationsSignature de commit Github

Signature de commit Github

La signature de vos commits garantit aux autres contributeurs que les modifications proviennent bien de vous. Depuis peu, GitHub prend en charge l’utilisation de clés SSH pour la signature GPG.

Préparation de la clé SSH

Si vous utilisez déjà Git et SSH pour vous connecter à GitHub, vous disposez déjà d’une clé SSH. Si ce n’est pas le cas, vous devez d’abord la générer.

Vérification de la clé publique

Pour obtenir le contenu de votre clé publique SSH (celle que vous utilisez pour vous connecter à GitHub), exécutez la commande suivante :

Terminal
cat ~/.ssh/id_rsa.pub # ou le nom de votre fichier de clé

Copiez le contenu complet de ce fichier (commençant par ssh-rsa ou ssh-ed25519 et se terminant par votre email).

Utilisation d’un Agent SSH (ex. Bitwarden) Si vous utilisez un agent SSH comme Bitwarden, qui stocke et gère votre clé privée SSH personnelle pour l’authentification, vous devez utiliser la clé publique correspondante pour la signature de commit.

Configuration GitHub

Vous devez indiquer à GitHub que cette clé SSH peut également être utilisée pour la signature.

Accéder aux paramètres

  1. Sur GitHub, allez dans Settings (Paramètres).
  2. Naviguez vers SSH and GPG keys dans le menu latéral.

Ajouter la clé de signature

  1. Cliquez sur le bouton New SSH key.
  2. Renseignez le champ Title (un nom descriptif, ex. : Signing Key Laptop).
  3. Pour Key type, sélectionnez Signing Key.
  4. Collez le contenu de votre clé publique SSH (copié précédemment) dans le champ Key.
  5. Cliquez sur Add SSH key.
Note : Assurez-vous d’avoir sélectionné Signing Key et non Authentication Key. Une fois ajoutée, cette clé peut être utilisée à la fois pour l’authentification Git et pour la signature des commits.

Configuration de git local

Vous devez maintenant configurer votre environnement Git local pour utiliser cette nouvelle fonctionnalité.

Définir le format GPG

Indiquez à Git d’utiliser le format SSH pour les signatures GPG.

git config --global gpg.format ssh

Définir la clé de signature

Configurez Git pour qu’il utilise votre clé publique SSH pour la signature. Remplacez "votre-clé-publique" par la clé publique que vous avez ajoutée à GitHub (le contenu exact de votre fichier .pub).

git config --global user.signingkey "votre-clé-publique"
Attention : Ici, vous devez coller la clé publique complète (ex: ssh-ed25519 AAAAC3Nz... utilisateur@host), pas seulement l’empreinte ni le chemin du fichier.

Signature automatique

Vous pouvez forcer Git à signer tous les commits que vous effectuez globalement.

git config --global commit.gpgsign true

Test et vérification

Après avoir effectué ces étapes, chaque nouveau commit sera automatiquement signé :

git commit -m "feat: mon commit est signé"

Si tout est correct, vous devriez voir le badge Verified apparaîtra à côté de vos commits sur GitHub.