Mettre en place SSH pour Gitlab

De WikiBR

Ce guide a pour but de t’aider à mettre en place un ordinateur pour utiliser Gitlab avec une authentification SSH. Il s’adresse aux néophytes : pour une introduction plus générale, voir le page principale sur le SSH et les astuces avancées du BR.

On décrit les étapes d’installation pour Windows 10 et 11. Pour Linux et macOS, se référer également au guide SSH principal.

La mise en place est relativement simple. Suit scrupuleusement les étapes suivantes.

Prérequis

Avant de commencer, assure-toi d’avoir git installé sur ta machine. Pour vérifier cela :

  • ouvrir un terminal cmd ou powershell (touche Windows + R, puis taper cmd ou powershell) ;
  • taper git -v et vérifier que git est bien installé et, si ce n’est pas le cas, installe git ici ;
  • taper ensuite ssh -V pour vérifier que ssh est installé et, si ce n’est pas le cas, installe OpenSSH ici.

Mise en place

Étape 1 : Générer une clé SSH

Ouvre un terminal (cmd ou powershell) et tape la commande suivante :

ssh-keygen -t ed25519 -C "ordi portable vaneau"

En remplaçant ordi portable vaneau par un nom de ton choix. Tu peux laisser les autres champs vides en appuyant simplement sur la touche Entrée pour chaque option.

À noter qu'il y a une option pour changer le nom de la clé (par défaut id_ed25519) et l’emplacement de sauvegarde. Il y a aussi une autre option pour ajouter un mot de passe (passphrase) à la clé, qu'il est recommandé de mettre si ton disque dur n'est pas chiffré.

Warning.png Attention : Cette commande génère deux fichiers dans le dossier C:\Users\<ton_nom>\.ssh : la clé privée (id_ed25519) et la clé publique (id_ed25519.pub). IL NE FAUT EN AUCUN CAS PARTAGER LA CLÉ PRIVÉE. C’est la clé publique qui doit être ajoutée sur Gitlab. On n’insistera jamais assez sur ce point. Toute la sécurité repose sur le fait que la clé privée reste secrète.

Étape 2 : Ajouter la clé SSH sur Gitlab

  1. Connecte-toi sur Gitlab avec tes identifiants Sigma BR ;
  2. Clique sur ton avatar en haut à gauche, puis sur Preferences, puis sur SSH Keys (ou va directement sur cette page) ;
  3. Clique sur Add new key ;
  4. Copie le contenu du fichier C:\Users\<ton_nom>\.ssh\id_ed25519.pub (ou un autre chemin si tu as choisi un autre emplacement) en remplaçant <ton_nom> par ton nom d’utilisateur Windows et colle-le dans le champ Key ;
  5. (optionnel) Supprime la date d’expiration de la clé si tu veux qu’elle reste valide indéfiniment ;
  6. Clique sur Add key.

Étape 3 : Préparer SSH pour utiliser la clé

  1. Ouvre le dossier C:\Users\<ton_nom>\.ssh sur VSCode (ou ton éditeur de texte préféré) ;
  2. Crée un fichier config (sans extension) ;
  3. Ajoute le contenu suivant :
Host gitlab.binets.fr
  User git
  IdentityFile C:\Users\<ton_nom>\.ssh\id_ed25519

En remplaçant <ton_nom> par ton nom d’utilisateur Windows.

Étape 4 : Activer l'agent SSH

Taper ssh-add -L

  • Si ta clef ssh est affichée, tout va bien, tu peux passer à l'étape suivante
  • Sinon, suit ces étapes :

Sur windows

  1. Aller dans la recherche windows et lancer Services
  2. Chercher OpenSSH Authentification Agent
  3. Double cliquer dessus et mettre : Type de démarrage : Automatique
  4. Appuyer sur démarrer
  5. Dans un terminal, faire ssh-add

Sur Linux/Mac

Voilà une solution un peu nulle qu'il faudra refaire à chaque fois que tu redémarre ton ordi. Lance un terminal et tape :

eval `ssh-agent`
ssh-add

N'hésite pas à trouver une meilleure solution et à l'écrire ici.

Étape 5 : Tester la connexion SSH

Pour tester la connexion SSH, ouvre un terminal et tape la commande suivante :

ssh -T gitlab.binets.fr

Tu devrais voir un message comme ça :

The authenticity of host 'gitlab.binets.fr (129.104.201.46)' can't be established.
ED25519 key fingerprint is SHA256:sn+wsip9OTBcwiY0ZplULWXNij3v3kdj/tP228i2+70.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Écrit yes puis appuie sur Entrée.

Si tout s’est bien passé, tu devrais voir un message de bienvenue de Gitlab. Dans le cas contraire, vérifie que tu as bien suivi toutes les étapes précédentes. Si tu rencontres des difficultés, n’hésite pas à demander de l’aide au Binet Réseau en permanence ou sur PaniX.

Étape 6 : Configurer l’identité Git

Pour finir, il faut configurer correctement ton identité sur Git. Dans ton terminal, tape les commandes suivantes :

git config --global user.name "<Ton Nom>"
git config --global user.email "<ton.nom>@polytechnique.edu"

En remplaçant <Ton Nom> par ton nom et <ton.nom>@polytechnique.edu par les valeurs adéquates.

Félicitations ! À partir de là, tu peux utiliser Gitlab avec une authentification SSH.

Lorsque tu clones un dépôt, veille bien à choisir le lien SSH et non HTTPS.