Configuration SSH
Des scripts automatiques pour la création de clé SSH sur Linux et Windows sont en cours de développement. Demandez plus d'informations à Thibault. En cas de problème, n'hésitez pas à demander.
Pour vulgariser et sans rentrer dans les détails techniques, avoir une clé SSH vous permettra d'envoyer et de récupérer du contenu sur GitLab avec votre ordinateur.
Il est nécessaire d'avoir une clé par ordinateur (par système d'exploitation si vous avez un Dual Boot).
1. Créer une clé SSH
Linux / macOS
Ouvrez un terminal et exécutez la commande suivante :
ssh-keygen -t ed25519 -C "votre@email.fr" -f ~/.ssh/gitwolfyzdprod
Le terminal vous demandera une passphrase. Vous pouvez en définir une pour plus de sécurité ou appuyer sur Entrée pour la laisser vide.
Cela crée deux fichiers :
~/.ssh/gitwolfyzdprod— Clé privée (ne jamais partager)~/.ssh/gitwolfyzdprod.pub— Clé publique (à copier sur GitLab)
Windows
Ouvrez PowerShell et exécutez la commande suivante :
ssh-keygen -t ed25519 -C "votre@email.fr" -f $env:USERPROFILE\.ssh\gitwolfyzdprod
Le terminal vous demandera une passphrase. Vous pouvez en définir une pour plus de sécurité ou appuyer sur Entrée pour la laisser vide.
Cela crée deux fichiers :
C:\Users\VotreNom\.ssh\gitwolfyzdprod— Clé privée (ne jamais partager)C:\Users\VotreNom\.ssh\gitwolfyzdprod.pub— Clé publique (à copier sur GitLab)
Ne partagez jamais votre clé privée. Elle ne doit jamais être envoyée par email, Discord, ou copiée sur un serveur distant.
2. Copier la clé publique sur GitLab
Afficher la clé publique
Linux / macOS
cat ~/.ssh/gitwolfyzdprod.pub
Windows
Get-Content $env:USERPROFILE\.ssh\gitwolfyzdprod.pub
Copiez l'intégralité du résultat affiché (commence par ssh-ed25519 et se termine par votre email).
Ajouter la clé sur GitLab
- Connectez-vous sur git.wolfyzdprod.fr
- Cliquez sur votre avatar en haut à droite
- Allez dans Preferences
- Dans le menu de gauche, cliquez sur SSH Keys
- Collez votre clé publique dans le champ Key
- Donnez un titre descriptif (ex: "PC Portable Perso")
- Décochez la case d'expiration à côté du calendrier pour éviter que la clé n'expire
- Cliquez sur Add key

3. Configuration du fichier SSH
Pour éviter de spécifier la clé à chaque connexion, créez un fichier de configuration SSH.
Linux / macOS
Créez ou modifiez le fichier ~/.ssh/config :
nano ~/.ssh/config
Ajoutez le contenu suivant :
Host git.wolfyzdprod.fr
HostName git.wolfyzdprod.fr
User git
IdentityFile ~/.ssh/gitwolfyzdprod
IdentitiesOnly yes
Enregistrez et fermez le fichier (Ctrl+O puis Ctrl+X avec nano).
Appliquez les bonnes permissions :
chmod 600 ~/.ssh/config
Windows
Créez ou modifiez le fichier C:\Users\VotreNom\.ssh\config :
notepad $env:USERPROFILE\.ssh\config
Ajoutez le contenu suivant :
Host git.wolfyzdprod.fr
HostName git.wolfyzdprod.fr
User git
IdentityFile ~/.ssh/gitwolfyzdprod
IdentitiesOnly yes
Enregistrez et fermez le fichier.
Le chemin ~/.ssh/gitwolfyzdprod fonctionne aussi sur Windows dans le fichier de configuration SSH.
4. Tester la connexion
Linux / macOS / Windows
ssh -T git@git.wolfyzdprod.fr
Si la configuration est correcte, vous devriez voir un message de bienvenue GitLab :
Welcome to GitLab, @votre_nom!
5. Dépannage
La connexion demande un mot de passe
Si SSH demande un mot de passe au lieu d'utiliser votre clé, lancez l'agent SSH et ajoutez votre clé manuellement.
Linux / macOS
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/gitwolfyzdprod
Windows (PowerShell)
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\gitwolfyzdprod
Sur Windows, si le service ssh-agent n'est pas démarré, exécutez PowerShell en administrateur et lancez :
Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent
Retestez ensuite la connexion :
ssh -T git@git.wolfyzdprod.fr
Permission denied (publickey)
Vérifiez les points suivants :
- La clé publique est bien ajoutée sur GitLab
- Le fichier de configuration pointe vers la bonne clé
- Les permissions sont correctes (Linux/macOS uniquement) :
chmod 700 ~/.ssh
chmod 600 ~/.ssh/gitwolfyzdprod
chmod 600 ~/.ssh/config
Too many authentication failures
Ajoutez l'option IdentitiesOnly yes dans votre fichier de configuration (déjà inclus dans l'exemple ci-dessus) ou forcez l'utilisation d'une seule clé :
ssh -o IdentitiesOnly=yes -i ~/.ssh/gitwolfyzdprod git@git.wolfyzdprod.fr
Encore une fois, n'hésitez pas à demander (avec un maximum de détail) de l'aide en cas de problème.
Résumé des commandes
| Action | Linux / macOS | Windows |
|---|---|---|
| Créer une clé | ssh-keygen -t ed25519 -C "email" -f ~/.ssh/gitwolfyzdprod | ssh-keygen -t ed25519 -C "email" -f $env:USERPROFILE\.ssh\gitwolfyzdprod |
| Afficher la clé publique | cat ~/.ssh/gitwolfyzdprod.pub | Get-Content $env:USERPROFILE\.ssh\gitwolfyzdprod.pub |
| Tester la connexion | ssh -T git@git.wolfyzdprod.fr | ssh -T git@git.wolfyzdprod.fr |
| Lancer l'agent SSH | eval "$(ssh-agent -s)" | Start-Service ssh-agent |
| Ajouter la clé à l'agent | ssh-add ~/.ssh/gitwolfyzdprod | ssh-add $env:USERPROFILE\.ssh\gitwolfyzdprod |