> 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.