màj wiki avec retour MES lot-5 AD

This commit is contained in:
Arthur Ria
2026-05-20 09:41:27 +02:00
commit 23eb3f3c84
4106 changed files with 469381 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
---
title: "SSH Keys Setup (MSSCODE & Sourcetree)"
type: operation
sources:
- sources/archives/Configuration_cle_SSH_MSSCODE_Sourcetree.md
related:
- operations/git-workflow.md
- operations/git-branch-lifecycle.md
last_compiled: "2026-04-17"
---
# SSH Keys Setup (MSSCODE & Sourcetree)
## Overview
Procédure interne Mecalux EasyWMS France pour générer une **clé SSH ed25519**, l'enregistrer sur **MSSCODE** (le Gitea interne Mecalux) et la connecter à **Sourcetree**. Une fois en place, Sourcetree n'a plus à demander les identifiants MSSCODE à chaque opération Git — seul le mot de passe de la clé SSH est exigé à l'ouverture de Sourcetree.
Source : Confluence EasyWMS France — *Configuration d'une clé SSH pour MSSCODE et Sourcetree* (v2, 28/01/2026).
## 1. Génération de la clé SSH
### Prérequis
**Git installé** sur le poste, puis ouverture de **Git Bash** (pas PowerShell, pas CMD).
### Commande
```shell
ssh-keygen -t ed25519 -C "your_email@example.com"
```
À l'invite **`Enter file in which to save the key`** : appuyer sur **Entrée** (chemin par défaut `/c/Users/<user>/.ssh/id_ed25519`).
À l'invite **`Enter passphrase`** : saisir un **mot de passe fort** (recommandé), puis le confirmer.
> ⚠️ Le mot de passe de la clé est **unique et non modifiable**. En cas d'oubli, il faut **régénérer une nouvelle paire de clés**. Une clé sans mot de passe est techniquement possible mais **fortement déconseillée**.
Deux fichiers sont créés dans `C:\Users\<user>\.ssh\` :
- `id_ed25519` — clé **privée** (à ne jamais partager)
- `id_ed25519.pub` — clé **publique** (à enregistrer sur MSSCODE)
## 2. Enregistrement de la clé sur MSSCODE
1. Se connecter à **MSSCODE** → accéder à la gestion des clés SSH
2. Cliquer sur **"Ajouter une clé"**
3. Donner un nom à la clé (ex : `Auth`)
4. Coller le contenu **complet** du fichier `id_ed25519.pub`
5. MSSCODE déclenche une **vérification de la clé via signature SSH renforcée**
### Vérification renforcée
> ⚠️ **Ne pas copier l'exemple de commande** affiché dans la documentation Confluence : le **jeton de vérification est unique et change à chaque tentative**. Utiliser systématiquement la commande **fournie en direct par MSSCODE**, en y ajoutant le chemin vers la clé privée entre apostrophes simples.
Forme générale :
```shell
echo -n 'votre_jeton_unique' | ssh-keygen -Y sign -n gitea -f 'C:\Users\<user>\.ssh\id_ed25519'
```
Saisir le mot de passe de la clé SSH → la commande imprime une **signature**. Copier celle-ci dans le champ **"Signature SSH renforcée"** de MSSCODE puis cliquer sur **"Vérifier"**.
## 3. Configuration de Sourcetree
1. Ouvrir **Sourcetree****Tools****Options**
2. Onglet **General** → section **SSH Client Configuration** :
- **SSH Client** : sélectionner **`OpenSSH`**
- **SSH Key** : cliquer sur **`[...]`** et désigner `id_ed25519` (clé **privée**)
3. Sourcetree demande le **mot de passe** de la clé → le saisir et valider
## 4. Cloner via SSH (obligatoire)
> ⚠️ **Important** : avec une clé SSH, il faut cloner les dépôts via le **lien SSH** (et non HTTPS). Sinon Sourcetree continuera à demander les identifiants MSSCODE à chaque opération.
Le lien SSH est exposé sur la page du dépôt MSSCODE (bouton "Code" / "Clone" → onglet **SSH**).
## Comportement attendu
- Sourcetree n'**ouvre plus de prompt MSSCODE** pour clone / fetch / pull / push.
- Le mot de passe **de la clé SSH** est demandé **une fois par session Sourcetree** (à l'ouverture). Sourcetree mémorise ensuite la passphrase pour la durée de vie du process.
## Common errors
- **Sourcetree redemande encore le mot de passe MSSCODE** → le repo a été cloné en HTTPS. Re-cloner via le lien SSH (ou re-pointer le remote `origin` vers l'URL SSH).
- **`Permission denied (publickey)`** → la clé publique n'a pas été enregistrée sur MSSCODE, ou la vérification renforcée n'a pas été validée.
- **Vérification renforcée refuse la signature** → l'utilisateur a copié l'exemple de commande de la doc et non celle générée par MSSCODE (jeton expiré / ne correspond pas à la session). Recharger la page MSSCODE et utiliser la commande fournie.
- **Mot de passe de la clé oublié** → régénérer une paire de clés et refaire la procédure (pas de récupération possible).
## Related
- [Git Workflow (Git Flow)](git-workflow.md) — opérations Git quotidiennes effectuées avec cette clé
- [Git Branch Lifecycle](git-branch-lifecycle.md) — cycle des branches Git par phase de projet