Skip to main content

Génération d’une nouvelle clé SSH et ajout de celle-ci à ssh-agent

Une fois que vous avez vérifié les clés SSH existantes, vous pouvez générer une nouvelle clé SSH à utiliser pour l’authentification, puis l’ajouter à l’agent ssh.

Platform navigation

À propos des phrases secrètes de clé SSH

Vous pouvez accéder et écrire des données dans des référentiels sur GitHub à l’aide de SSH (protocole Secure Shell). Quand vous vous connectez via SSH, vous vous authentifiez avec un fichier de clé privée sur votre ordinateur local. Pour plus d’informations, consultez À propos de SSH.

Lorsque vous générez une clé SSH, vous pouvez ajouter une phrase secrète pour sécuriser davantage la clé. Chaque fois que vous utilisez la clé, vous devez entrer la phrase secrète. Si votre clé a une phrase secrète et que vous ne souhaitez pas entrer la phrase secrète chaque fois que vous utilisez la clé, vous pouvez ajouter votre clé à l’agent SSH. L’agent SSH gère vos clés SSH et mémorise votre phrase secrète.

Si vous n’avez pas encore de clé SSH, vous devez en générer une que vous utiliserez pour l’authentification. Si vous ne savez pas si vous disposez déjà d’une clé SSH, vous pouvez vérifier les clés existantes. Pour plus d’informations, consultez « Vérification des clés SSH existantes ».

Si vous souhaitez utiliser une clé de sécurité matérielle pour vous authentifier auprès de GitHub, vous devez générer une nouvelle clé SSH pour votre clé de sécurité matérielle. Vous devez connecter votre clé de sécurité matérielle à votre ordinateur quand vous vous authentifiez avec la paire de clés. Pour plus d’informations, consultez les notes de publication d’OpenSSH 8.2.

Génération d’une nouvelle clé SSH

Vous pouvez générer une nouvelle clé SSH sur votre ordinateur local. Après avoir généré la clé, vous pouvez ajouter la clé publique à votre compte sur GitHub.com afin d'activer l'authentification pour les opérations Git via SSH.

Note

GitHub a amélioré la sécurité en supprimant d’anciens types de clés non sécurisés le 15 mars 2022.

Depuis cette date, les clés DSA (ssh-dss) ne sont plus prises en charge. Vous ne pouvez pas ajouter de nouvelles clés DSA à votre compte personnel sur GitHub.

Les clés RSA (ssh-rsa) avec une date valid_after antérieure au 2 novembre 2021 peuvent continuer à utiliser n’importe quel algorithme de signature. Les clés RSA générées après cette date doivent utiliser un algorithme de signature SHA-2. Il se peut que certains clients plus anciens nécessitent un mise à niveau pour utiliser des signatures SHA-2.

  1. Ouvrez Git Bash.

  2. Collez le texte ci-dessous, en remplaçant l’e-mail utilisé dans l’exemple par votre adresse e-mail GitHub.

    ssh-keygen -t ed25519 -C "your_email@example.com"
    

    Note

    Si vous utilisez un système hérité qui ne prend pas en charge l’algorithme Ed25519, utilisez :

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    Cette opération crée une clé SSH, qui utilise l’e-mail fourni comme étiquette.

    > Generating public/private ALGORITHM key pair.
    

    Quand vous êtes invité à entrer un fichier où enregistrer la clé, vous pouvez appuyer sur Entrée pour accepter l’emplacement du fichier par défaut. Notez que si vous avez déjà créé des clés SSH, ssh-keygen peut vous demander de réécrire une autre clé, auquel cas nous vous recommandons de créer une clé SSH avec un nom personnalisé. Pour ce faire, tapez l’emplacement du fichier par défaut et remplacez id_ALGORITHM par le nom personnalisé de votre clé.

    > Enter file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):[Press enter]
    
  3. À l’invite, tapez une phrase secrète sécurisée. Pour plus d’informations, consultez « Utilisation des phrases secrètes de clé SSH ».

    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]
    

Ajout de votre clé SSH à ssh-agent

Avant d’ajouter une nouvelle clé SSH à ssh-agent pour gérer vos clés, vous devez vérifier les clés SSH existantes et générer une nouvelle clé SSH.

Si vous avez installé GitHub Desktop, vous pouvez l’utiliser pour cloner des référentiels, sans utiliser de clés SSH.

  1. Dans une nouvelle fenêtre de terminal des _privilèges élevés d’administrateur_PowerShell, vérifiez que l’agent ssh est en cours d’exécution. Vous pouvez utiliser les instructions de la section « Lancement automatique de ssh-agent » dans Utilisation des phrases secrètes de clé SSH ou le démarrer manuellement :

    # start the ssh-agent in the background
    Get-Service -Name ssh-agent | Set-Service -StartupType Manual
    Start-Service ssh-agent
    
  2. Dans une fenêtre de terminal sans autorisations élevées, ajoutez votre clé privée SSH à l’agent SSH. Si vous avez créé votre clé avec un nom différent ou si vous ajoutez une clé existante qui a un nom différent, remplacez id_ed25519 dans la commande par le nom de votre fichier de clé privée.

    ssh-add c:/Users/YOU/.ssh/id_ed25519
    
  3. Ajoutez la clé SSH publique à votre compte sur GitHub. Pour plus d’informations, consultez « Ajout d’une nouvelle clé SSH à votre compte GitHub ».

Génération d’une nouvelle clé SSH pour une clé de sécurité matérielle

Si vous utilisez macOS ou Linux, vous devrez peut-être mettre à jour votre client SSH ou installer un nouveau client SSH avant de générer une clé SSH. Pour plus d’informations, consultez « Erreur : Type de clé inconnu ».

  1. Insérez votre clé de sécurité matérielle dans votre ordinateur.

  2. Ouvrez Git Bash.

  3. Collez le texte ci-dessous en remplaçant l’adresse e-mail utilisée dans l’exemple par celle associée à votre compte GitHub.

    ssh-keygen -t ed25519-sk -C "your_email@example.com"
    

    Note

    Si la commande échoue et que l’erreur invalid format ou feature not supported, se produit, vous utilisez peut-être une clé de sécurité matérielle qui ne prend pas en charge l’algorithme Ed25519. Entrez plutôt la commande suivante.

    ssh-keygen -t ecdsa-sk -C "your_email@example.com"
    
  4. Quand vous y êtes invité, appuyez sur le bouton de votre clé de sécurité matérielle.

  5. Quand vous êtes invité à entrer un fichier dans lequel enregistrer la clé, appuyez sur Entrée pour accepter l’emplacement du fichier par défaut.

    > Enter a file in which to save the key (c:\Users\YOU\.ssh\id_ed25519_sk):[Press enter]
    
  6. Quand vous êtes invité à taper une phrase secrète, appuyez sur Entrée.

    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]
    
  7. Ajoutez la clé SSH publique à votre compte sur GitHub. Pour plus d’informations, consultez « Ajout d’une nouvelle clé SSH à votre compte GitHub ».