Configuration d'une clé SSH pour GitHub
Pourquoi utiliser SSH ?
L'utilisation d'une clé SSH permet une authentification sécurisée auprès de GitHub sans devoir saisir votre nom d'utilisateur et mot de passe à chaque opération. C'est plus sûr et plus pratique !
Étape 1 : Générer une clé SSH
Linux / macOS
bash
ssh-keygen -t ed25519 -C "votre_email@example.com"Compatibilité : Si ed25519 n'est pas supporté, utilisez RSA :
bash
ssh-keygen -t rsa -b 4096 -C "votre_email@example.com"Windows (Git Bash)
bash
ssh-keygen -t ed25519 -C "votre_email@example.com"Astuce : Appuyez sur Enter trois fois pour accepter l'emplacement par défaut et ne pas définir de passphrase (ou définissez-en une pour plus de sécurité).
Étape 2 : Ajouter la clé à l'agent SSH
Linux / macOS
bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519Windows (PowerShell)
powershell
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent
ssh-add /c/Users/votre_utilisateur/.ssh/id_ed25519Étape 3 : Ajouter la clé SSH à GitHub
1
Copiez votre clé publique
bash
cat ~/.ssh/id_ed25519.pubCette commande affiche votre clé publique. Sélectionnez et copiez tout le contenu.
2
Accédez aux paramètres GitHub
Rendez-vous sur GitHub et naviguez vers :
SettingsSSH and GPG keysNew SSH key
3
Ajoutez votre clé
- ✓Donnez un titre descriptif (ex: "Mon PC portable")
- ✓Collez votre clé publique dans le champ "Key"
- ✓Cliquez sur "Add SSH key"
Étape 4 : Tester la configuration
bash
ssh -T git@github.comMessage de succès attendu :
Hi votre_nom_utilisateur! You've successfully authenticated, but GitHub does not provide shell access.
Si vous voyez ce message, votre clé SSH est correctement configurée !
Utiliser SSH avec vos dépôts
Pour configurer un dépôt existant afin qu'il utilise SSH au lieu de HTTPS :
bash
git remote set-url origin git@github.com:votre_nom_utilisateur/votre_depot.gitBon à savoir
- •Lors du clonage, utilisez l'URL SSH :
git@github.com:user/repo.git - •Vous pouvez avoir plusieurs clés SSH (une par machine)
- •GitHub supporte aussi les clés SSH avec authentification à deux facteurs (2FA)
