9ce6ae37be
- Em dashes: 1712 remplaces par tirets simples (86 fichiers + _index.md, en-tete section Limagrain conserve) - Checklists: 24 '- [ ]' -> '- ☐' (3 pages operations, plus de todos Obsidian) - Ancres: 33 reparees (slugs GitHub + ancres HTML <a id> reconnues), 1 reciblee (manuel de reten) - related: tenseflow -> tense-flow, pie -> mechanical-elements, group.md retire (doublon shipping) - Registre: compteur global 122 -> 131 pages - Rapport racine _lint_report.md mis a jour (scan v2 + re-scan final: 0 anomalie) - Aucun fichier limagrain/ modifie (cloisonnement)
92 lines
4.5 KiB
Markdown
92 lines
4.5 KiB
Markdown
---
|
|
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
|