Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
divers:git:gitlab_ssh_key [2024/04/06 07:34] marclebrun supprimée |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Utiliser une clé SSH avec GitLab ====== | ||
- | |||
- | Doc GitLab : [[https://docs.gitlab.com/ee/ssh/README.html#generate-an-ssh-key-pair]] | ||
- | |||
- | Tutoriel sur Developpez.com : [[https://gkemayo.developpez.com/tutoriels/git/securite-repo-git/]] | ||
- | |||
- | |||
- | ===== Générer une paire de clés SSH ===== | ||
- | |||
- | <code bash> | ||
- | ssh-keygen -t rsa -b 2048 -C "mon-adresse@email" | ||
- | </code> | ||
- | |||
- | * Accepter l'emplacement de la sauvegarde. | ||
- | * Entrer une **passphrase**, ou laisser vide si on n'en veut pas. | ||
- | |||
- | Deux fichiers sont créés : | ||
- | |||
- | <code bash> | ||
- | /home/marc/.ssh/id_rsa # clé privée | ||
- | /home/marc/.ssh/id_rsa.pub # clé publique | ||
- | </code> | ||
- | |||
- | ===== Ajouter sa clé publique sur GitLab ===== | ||
- | |||
- | * Ouvrir une session sur GitLab | ||
- | * Ouvrir son profil, puis **Settings** > **SSH Keys** | ||
- | * Coller le contenu du fichier **id_rsa.pub** dans la zone **Key** | ||
- | * Dans la zone **Title** donner une description, p.ex //ordinateur du bureau//. | ||
- | * Cliquer sur **Add key** | ||
- | |||
- | ===== Tester la connexion ===== | ||
- | |||
- | <code bash> | ||
- | ssh -T git@gitlab.com | ||
- | </code> | ||
- | |||
- | Vérifier que la **ECDSA key fingerprint** corresponde à ce qui est | ||
- | indiqué sur [[https://docs.gitlab.com/ee/user/gitlab_com/index.html#ssh-host-keys-fingerprints|cette page]] dans le tableau **SSH host keys fingerprints** | ||
- | |||
- | <code> | ||
- | The authenticity of host 'gitlab.com (2606:4700:90:0:f22e:fbec:5bed:a9b9)' can't be established. | ||
- | ECDSA key fingerprint is SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw. | ||
- | Are you sure you want to continue connecting (yes/no/[fingerprint])? yes | ||
- | </code> | ||
- | |||
- | Si c'est correct, répondre **yes**. | ||
- | |||
- | Entrer la **passphrase** (si on en a mis une lors de la création de la clé). | ||
- | |||
- | <code> | ||
- | Warning: Permanently added 'gitlab.com,2606:4700:90:0:f22e:fbec:5bed:a9b9' (ECDSA) to the list of known hosts. | ||
- | Enter passphrase for key '/home/marc/.ssh/id_rsa': | ||
- | Welcome to GitLab, @marclebrun! | ||
- | </code> | ||
- | |||
- | Relancer la commande une deuxième fois : | ||
- | |||
- | <code bash> | ||
- | ssh -T git@gitlab.com | ||
- | </code> | ||
- | |||
- | Cette fois il faut juste entrer la **passphrase**. | ||
- | |||
- | ===== Configurer un projet ===== | ||
- | |||
- | Une fois le dépôt créé sur GitLab, l'ajouter en tant qu'**origin** à un nouveau projet : | ||
- | |||
- | <code bash> | ||
- | git remote add origin git@gitlab.com:USERNAME/REPOSITORY.git | ||
- | </code> | ||
- | |||
- | Si le projet existe déjà, il faut modifier l'url de son dépôt **origin** : | ||
- | |||
- | <code bash> | ||
- | git remote set-url origin git@gitlab.com:USERNAME/REPOSITORY.git | ||
- | </code> | ||
- | |||
- | Par la suite toutes les commandes **git push** / **git clone** / **...** | ||
- | demanderont juste la **passphrase** de la clé ssh. | ||
- | |||
- | :-) Ça marche également très bien depuis **VSCode** :-) | ||