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.

Remarque

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 TerminalTerminalGit 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"
    

    Remarque

    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 a file in which to save the key (/Users/YOU/.ssh/id_ALGORITHM): [Press enter]
    
    > Enter file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):[Press enter]
    
    > Enter a file in which to save the key (/home/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. Quand vous ajoutez votre clĂ© SSH Ă  l’agent, utilisez la commande macOS ssh-add par dĂ©faut et non une application installĂ©e par macports, homebrew ou une autre source externe.

  1. DĂ©marrez l’agent SSH en arriĂšre-plan.

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

    Selon votre environnement, vous serez peut-ĂȘtre amenĂ© Ă  utiliser une commande diffĂ©rente. Par exemple, vous devrez peut-ĂȘtre utiliser l’accĂšs racine en exĂ©cutant sudo -s -H avant de dĂ©marrer l’agent SSH, ou exec ssh-agent bash ou exec ssh-agent zsh pour exĂ©cuter l’agent SSH.

  2. Si vous utilisez macOS Sierra version 10.12.2 ou ultĂ©rieure, vous devez modifier votre fichier ~/.ssh/configpour charger automatiquement les clĂ©s dans ssh-agent et stocker les phrases secrĂštes dans votre trousseau.

    • Tout d’abord, vĂ©rifiez si votre fichier ~/.ssh/config existe Ă  l’emplacement par dĂ©faut.

      $ open ~/.ssh/config
      > The file /Users/YOU/.ssh/config does not exist.
      
    • Si le fichier n’existe pas, crĂ©ez-le.

      touch ~/.ssh/config
      
    • Ouvrez votre fichier ~/.ssh/config, puis modifiez-le pour qu’il contienne les lignes suivantes. Si votre fichier de clĂ© SSH a un nom ou un chemin diffĂ©rent de ceux de l’exemple de code, modifiez le nom de fichier ou le chemin pour qu’ils correspondent Ă  votre configuration actuelle.

      Text
      Host github.com
        AddKeysToAgent yes
        UseKeychain yes
        IdentityFile ~/.ssh/id_ed25519
      

      Remarque

      • Si vous avez choisi de ne pas ajouter de phrase secrĂšte Ă  votre clĂ©, vous devez omettre la ligne UseKeychain.
      • Si vous voyez une erreur Bad configuration option: usekeychain, ajoutez une ligne supplĂ©mentaire Ă  la section Host *.github.com de la ou des configurations.
      Text
      Host github.com
        IgnoreUnknown UseKeychain
      
  3. Ajoutez votre clé privée SSH à ssh-agent et stockez votre phrase secrÚte dans le trousseau. 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 --apple-use-keychain ~/.ssh/id_ed25519
    

    Remarque

    L’option --apple-use-keychain stocke la phrase secrĂšte dans votre trousseau quand vous ajoutez une clĂ© SSH Ă  ssh-agent. Si vous avez choisi de ne pas ajouter de phrase secrĂšte Ă  votre clĂ©, exĂ©cutez la commande sans l’option --apple-use-keychain.

    L’option --apple-use-keychain se trouve dans la version standard de ssh-add d’Apple. Dans les versions macOS antĂ©rieures Ă  Monterey (12.0), les indicateurs --apple-use-keychain et --apple-load-keychain utilisaient respectivement la syntaxe -K et -A.

    Si vous n’avez pas la version standard de ssh-add d’Apple installĂ©e, vous pouvez recevoir une erreur. Pour plus d’informations, consultez « Erreur : ssh-add : option illĂ©gale -- apple-use-keychain Â».

    Si vous continuez Ă  ĂȘtre invitĂ© Ă  entrer votre phrase secrĂšte, vous devrez peut-ĂȘtre ajouter la commande Ă  votre fichier ~/.zshrc (ou Ă  votre fichier ~/.bashrc pour bash).

  4. Ajoutez la clĂ© SSH publique Ă  votre compte sur GitHub. Pour plus d’informations, consultez « Ajout d’une nouvelle clĂ© SSH Ă  votre compte GitHub Â».

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 Â».

  1. DĂ©marrez l’agent SSH en arriĂšre-plan.

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

    Selon votre environnement, vous serez peut-ĂȘtre amenĂ© Ă  utiliser une commande diffĂ©rente. Par exemple, vous devrez peut-ĂȘtre utiliser l’accĂšs racine en exĂ©cutant sudo -s -H avant de dĂ©marrer l’agent SSH, ou exec ssh-agent bash ou exec ssh-agent zsh pour exĂ©cuter l’agent SSH.

  2. Ajoutez votre clé privée SSH à ssh-agent.

    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 ~/.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 TerminalTerminalGit 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"
    
    ssh-keygen -t ed25519-sk -C "your_email@example.com"
    
    ssh-keygen -t ed25519-sk -C "your_email@example.com"
    

    Remarque

    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 (/Users/YOU/.ssh/id_ed25519_sk): [Press enter]
    
    > Enter a file in which to save the key (c:\Users\YOU\.ssh\id_ed25519_sk):[Press enter]
    
    > Enter a file in which to save the key (/home/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 Â».