# Problèmes d'authentification ssh/git via ssh

*Dans PowerShell, il est fréquent que l’authentification ssh ne fonctionne pas, que ce soit en utilisant la commande ssh ou en utilisant git.*

*Voici un guide simple qui devrait régler ces problèmes.*


# Démarrage automatique de l’agent ssh

*La cause la plus courante est l’agent ssh qui ne démarre pas automatiquement.*

Savoir si l’agent ssh est en cours d’exécution : `Get-Service -Name ssh-agent`


Pour ne plus avoir de problèmes de ce côté là :


1. Ouvrir un nouvel invite PowerShell en **mode Administrateur**;
2. Exécuter `Get-Service -Name ssh-agent | Set-Service -StartupType Automatic`.

Ainsi, l’agent sera lancé automatiquement au démarrage de Windows.


:::tip
Pour ne pas avoir à redémarrer ton PC, exécute `Start-Service ssh-agent` pour lancer directement l’agent ssh.

:::


# Mise à jour d’OpenSSH

*Cette partie est essentielle si tu constates des problèmes à l’utilisation de la commande* `*ssh*`*.*  
*Si ce n’est pas le cas, il est tout de même recommander de mettre à jour OpenSSH, mais tu devrais pouvoir passer* *directement à la partie* [*Git - Modification de l’exécutable ssh*](https://notes.iiens.net/doc/problemes-dauthentification-sshgit-via-ssh-yfYHI0lKnR#h-git-modification-de-lexecutable-ssh) *sans problèmes.*


Cette partie est très simple. Il suffit de télécharger l’[Installeur OpenSSH](https://github.com/PowerShell/Win32-OpenSSH/releases/latest) (dans les assets : `OpenSSH-Win64-vX.X.X.X.msi`) puis de l’exécuter.


L’exécutable `ssh.exe` devrait se trouver au chemin `C:\Program Files\OpenSSH\` (`C: > Programmes > OpenSSH` dans l’explorateur de fichiers).

+++++++
Tu peux facilement vérifier le chemin

Compare le résultat de ces commandes dans un **nouvel invite PowerShell** :

* `ssh -V`
* `& "<chemin>\ssh.exe" -V` (`& "C:\Program Files\OpenSSH\ssh.exe" -V` par défaut)

+++++++

# Git - Modification de l’exécutable ssh

*Cette partie règlera les problèmes d’authentification via ssh avec git. Il est indispensable d’avoir suivi les parties précédentes pour assurer l’efficacité de celle-ci.*


:::info
Il est indispensable que tu aies localisé le chemin vers l’exécutable ssh pour cette partie.

Si ce n’est pas le cas, reviens sur la fin de la première partie.

:::


Il suffit d’exécuter la commande `git config --global core.sshCommand "'<chemin_ssh.exe>'"`.


:::warning
La présence des guillemets **__et__** des apostrophes est **__très importante__** !!!  
Puisque le chemin contient (il y a de grandes chances) un espace, il faut passer à la commande une double chaine de caractères pour conserver l’intégrité du chemin.

:::



*Guide testé uniquement sous Windows 11.*