à 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.
-
Ouvrez TerminalTerminalGit Bash.
-
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]
-
Ă 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.
-
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, ouexec ssh-agent bash
ouexec ssh-agent zsh
pour exĂ©cuter lâagent SSH. -
Si vous utilisez macOS Sierra version 10.12.2 ou ultérieure, vous devez modifier votre fichier
~/.ssh/config
pour 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
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 sectionHost *.github.com
de la ou des configurations.
Text Host github.com IgnoreUnknown UseKeychain
Host github.com IgnoreUnknown UseKeychain
- Si vous avez choisi de ne pas ajouter de phrase secrÚte à votre clé, vous devez omettre la ligne
-
-
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 dessh-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). -
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.
-
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
-
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
-
Ajoutez la clĂ© SSH publique Ă votre compte sur GitHub. Pour plus dâinformations, consultez « Ajout dâune nouvelle clĂ© SSH Ă votre compte GitHub ».
-
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, ouexec ssh-agent bash
ouexec ssh-agent zsh
pour exĂ©cuter lâagent SSH. -
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
-
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 ».
-
Insérez votre clé de sécurité matérielle dans votre ordinateur.
-
Ouvrez TerminalTerminalGit Bash.
-
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
oufeature 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"
-
Quand vous y ĂȘtes invitĂ©, appuyez sur le bouton de votre clĂ© de sĂ©curitĂ© matĂ©rielle.
-
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]
-
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]
-
Ajoutez la clĂ© SSH publique Ă votre compte sur GitHub. Pour plus dâinformations, consultez « Ajout dâune nouvelle clĂ© SSH Ă votre compte GitHub ».