GitLab propose deux modes de connexion pour gérer vos projets: HTTPS et SSH Nous allons nous intéresser à la seconde méthode qui permet de ne pas avoir à s’identifier à chaque session. Concrètement l’identification est liée à une signature de la machine qui garantit son authenticité.
Pré-requis:
- disposer d’un compte et d’un projet sur Gitlab.com
- utiliser une machine Linux (dans l’exemple une distribution Ubuntu 22.04 LTS, donc à base de Debian), sur laquelle le client OpenSSH est installé (disponible nativement ici dans notre exemple)
Génération de la clef
- Ouvrez un terminal (Ctrl + Alt + T)
- Tapez:
ssh-keygen -t ed25519 -C "monmail@domaine.fr"
- Validez le chemin par défaut (/home/votreNomUtilisateur/.ssh/id_ed25519) en appuyant simplement sur Entrée
- Tapez ensuite un mot de passe secret 2 fois
- Votre clef est à présent créée et stockée sous deux fichiers : la clef privée id_ed25519 et la clef publique id_ed25519.pub
- Il faut ensuite copier le contenu de la clef publique dans le presse-papier.
Pour cela, nous allons installer xclip. Taper ces deux commandes :sudo apt update
sudo apt install xclip - Et copiez la clef publique
xclip -sel clip < ~/.ssh/id_ed25519.pub
Ajout de la clef à votre compte Gitlab
- Rendez-vous sur GitLab et identifiez-vous
- Cliquez sur votre photo en haut à droite puis choisissez Préférences.
- Cliquez dans SSH Keys dans le menu de gauche
- Renseignez ensuite comme suit :
Key: Collez avec Ctrl + V le contenu de votre presse-papier
Title: Nommez votre clef (attention à ne pas mettre du contenu sensible car le nom est public)
Expiration date: Supprimez la date si vous souhaitez qu’elle soit persistante - Cliquez sur Add Key
![](https://blog.zionlabs.fr/wp-content/uploads/2022/10/2.ajout-clef-gitlab-700x464.png)
Import de votre premier projet
- Depuis Gitlab, rendez-vous sur le projet à cloner
- Cliquez sur le bouton Clone, puis le bouton de Copie en face de l’adresse ssh
![](https://blog.zionlabs.fr/wp-content/uploads/2022/10/3.adresse-projet-gitlab-700x320.png)
3. Depuis le terminal, vérifiez si le client est installégit version
S’il n’est pas installé, vous obtiendrez La commande « git » n'a pas été trouvée, mais peut être installée avec :
sudo apt install git
Il suffit simplement de tapez donc cette dernière ligne pour l’installer (Ctrl+Maj+V pour copier depuis le terminal) et de confirmer avec « O ».
S’il est installé, la commande git version, donnegit version 2.34.1
4. Rendez-vous dans votre répertoire home.cd ~
5. Créez un nouveau dossier pour cloner vos projets, et descendez dedansmkdir projets
cd projets
/
6. Clonez votre projet depuis en tapant git clone puis en collant votre adresse SSH copiée depuis Gitlab (git@gitlab.com:nomUtilisateur/nomDuProjet.git). Confirmez avec yes la demande d’authenticité de gitlab.com.. Cela ajoutera le site aux hôtes certifiés dans le fichier ~/.ssh/know_hosts
![](https://blog.zionlabs.fr/wp-content/uploads/2022/10/4.import-terminal-1-700x418.png)
Et voilà ! Une note sur la méthode de cryptage utilisée: ED25519 est relativement récente et implantée depuis OpenSSH 8.2 (février 2020). Elle est recommandée contrairement à la méthode RSA qui est plus lourde et ancienne.