archi outils mirador bash

> Windows PowerShell

# A chaque ordinateur Windows (le client OpenSSH est intégré à Windows 10 et 11)

# Étape 1 : GĂ©nĂ©ration de la clĂ©

mkdir $env:USERPROFILE\.ssh

(seulement si le dossier .ssh n'existe pas encore)

ssh-keygen -t ed25519 -C "email@bon-courriel-du-compte.qc.ca" -f $env:USERPROFILE\.ssh\id_github_cegep

# à la question « passphrase » : Enter deux fois (vide) = rien à retaper ensuite

# Étape 2 : Ajout sur GitHub

cat $env:USERPROFILE\.ssh\id_github_cegep.pub

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ5CEUirHOy5dHtXBYPpDWLwqEEerIJ5fkkV1sfmlnon email@bon-courriel-du-compte.qc.ca

BROWSER : Settings → SSH and GPG keys → New SSH key  ( https://github.com/settings/keys )

Titre : Travaux ou Nom de l'ordi  ------  Type: Authentication key

Key : ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ5CEUirHOy5dHtXBYPpDWLwqEEerIJ5fkkV1sfmlnon email@bon-courriel-du-compte.qc.ca

# Étape 3 : Ajout au SSH-Agent

# une seule fois : démarrer le service, dans un PowerShell ouvert en administrateur

Set-Service ssh-agent -StartupType Automatic

Start-Service ssh-agent

# ensuite, dans un PowerShell normal :

ssh-add -D

ssh-add $env:USERPROFILE\.ssh\id_github_cegep

# À chaque nouveau projet ou ordinateur de travail du projet

git clone git@github.com:organisation/mirador-votre-compte.git mirador

déplacer le répertoire .git dans le projet (si le projet est deja sur l'ordi)

# A chaque version de code

git add --all

git commit -m "Projet initial mirador"

git push

# A chaque ouverture de console

cd ~\mirador

ssh-add $env:USERPROFILE\.ssh\id_github_cegep

(le ssh-add est inutile si vous avez le fichier config du Plan B)

# Ça coince ? Clique sur ton message d'erreur :

# Dépannage : Error connecting to agent: No such file or directory

# Le service ssh-agent n'est pas démarré : refaire les deux commandes de l'étape 3 en administrateur.

# PAS de droits administrateur (postes du cégep) ? Plan B : le fichier config, et plus jamais de ssh-add.

notepad $env:USERPROFILE\.ssh\config

# (répondre Oui pour créer le fichier - il s'appelle config tout court, sans .txt) et y écrire :

Host github.com
    IdentityFile ~/.ssh/id_github_cegep
    IdentitiesOnly yes

# (oui, le ~/ Ă  la Unix : ce fichier est lu par ssh.exe, qui comprend cette Ă©criture mĂȘme sous Windows)

# Enregistrer, fermer : git trouve maintenant la clé tout seul, sans agent ni ssh-add.

# Dépannage : identity_sign: private key ... contents do not match public

# (souvent suivi de : Permission denied (publickey))

# ssh essaie une vieille clé par défaut (id_ed25519) dont la privée et la .pub ne vont plus ensemble

# (clé refaite à moitié). Ce n'est PAS un problÚme de passphrase.

# 1. écarter la paire brisée (on renomme, on n'efface pas) :

ren $env:USERPROFILE\.ssh\id_ed25519 id_ed25519.vieux

ren $env:USERPROFILE\.ssh\id_ed25519.pub id_ed25519.pub.vieux

# 2. refaire les étapes 1 et 2 (clé id_github_cegep neuve + ajout du .pub sur GitHub)

# 3. faire le fichier config du Plan B (dépliant du dessus) - IdentitiesOnly force la bonne clé

# 4. tester la connexion :

ssh -T git@github.com

# réponse attendue : Hi votre-compte! You've successfully authenticated...

# Pourquoi $env:USERPROFILE ? Le ~ de bash n'est pas compris par les .exe (ssh-keygen, ssh-add) quand PowerShell le leur passe tel quel. Les commandes PowerShell (cd, cat) le comprennent, elles.