Je suis sous Windows. J'ai installé git et posh-git (quelques aides pour Windows PowerShell). Je peux ajouter des clés avec ssh-add
et m'authentifier avec github et mon serveur Web. Je peux également utiliser git à partir de PowerShell pour interagir avec mes référentiels.
Mais il y a une chose que je ne peux pas faire: j'utilise git-plus pour l'éditeur Atom. Et je ne l'obtiens pas pour pousser à mon repo. Quel est mon problème?
posh-git et git pour Windows 2.7 devrait inclure tout ce dont vous avez besoin pour configurer un ssh-agent . Une fois le module installé, vous pouvez démarrer l'agent à l'aide de quelque chose comme:
Import-Module ~\Documents\WindowsPowerShell\Modules\posh-git\posh-git
Set-Alias ssh-agent "$env:ProgramFiles\git\usr\bin\ssh-agent.exe"
Set-Alias ssh-add "$env:ProgramFiles\git\usr\bin\ssh-add.exe"
Start-SshAgent -Quiet
Vous devriez alors voir que la variable d'environnement SSH_AUTH_SOCK est définie:
C:\Code\Go\src\bosun.org\cmd\scollector [master]> gci env:SSH_AUTH_SOCK
Name Value
---- -----
SSH_AUTH_SOCK /tmp/ssh-6ORcVQvRBZ2e/agent.11668
Ce que le paquetage git-plus atom devrait pouvoir utiliser lorsque vous exécutez des commandes. J'ai été en mesure d'utiliser Ctrl + Maj + H pour afficher le menu git dans Atom, sélectionner Push, puis Push vers un référentiel distant (ce n'est pas le cas, les erreurs ne sont pas affichées en cas d'échec, mais la nouvelle branche que j'ai poussée était là). .
Ssh-agent doit être démarré AVANT d'ouvrir Atome pour que la variable d'environnement SSH_AUTH_SOCK soit définie. Si cela ne fonctionne toujours pas, vous pouvez tester ssh dans PowerShell pour vérifier qu'il peut se connecter sans mot de passe:
Set-Alias ssh "$env:ProgramFiles\git\usr\bin\ssh.exe"
ssh hostname
Le problème est que git n'a pas pu trouver le fichier ssh_agent.exe qui a fourni les informations d'identification Les étapes que j'ai suivies sont décrites ci-dessous.
$env:path += ";" + "C:\Program Files\Git\usr\bin"