2017-10-05 4 views
1

J'ai installé Cygwin et TortoiseGit. Et j'ai créé ssh-key par ssh-key-gen -t rsa et enregistré la clé publique à ma page GitHub. Lorsque dans le terminal gitbash, cela a fonctionné, cependant, le terminal Cygwin a échoué.Comment spécifier le chemin git dans le terminal Cygwin?

// Cygwin 
$ git pull 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

J'ai remarqué qu'ils utilisent des git différents. Ensuite, comment puis-je spécifier le chemin git dans Cygwin? Mon OS est Windows 10.

// Cygwin 
$ where git 
C:\Program Files\Git\cmd\git.exe 
$ which git 
/cygdrive/c/Program Files/Git/cmd/git 

// gitbash (MINGW64) 
$ where git 
C:\Program Files\Git\mingw64\bin\git.exe 
C:\Program Files\Git\cmd\git.exe 
$ which git 
/mingw64/bin/git 
+0

avec cygwin utilise son git. cela facilitera la gestion de la clé ssh créée avec cygwin ssh-key-gen – matzeri

Répondre

2

Le chemin git lui-même n'est pas important pour ssh.

Ce qui importe est le $HOME, parce que git (tout git) rechercherait les clés ssh publiques/privées $HOME/.ssh

Vérifiez votre sortie echo $HOME dans les deux cas de figure, et vérifier le résultat de ssh -Tv [email protected] (remplacer l'utilisateur et le serveur au début de l'URL ssh vu lors de la saisie git remote -v)

En outre, Cygwin has its own Git package as I explain here.
et it needs a .bash_profile as a setting.

+0

'$ HOME' réglé correctement et l'authentification ssh a été réussie par' ssh -Tv'. Je pense toujours que ce git n'est pas réglé correctement. – jef

+0

@jef pouvez-vous définir la variable d'environnement 'GIT_SSH_COMMAND' (' set' sur 'CMD',' export' sur bash) à 'ssh -v', et voir dans les deux cas ce qui se passe sur' git pull'? Il devrait y avoir une différence. – VonC

+0

@jef Et vous n'avez pas mentionné que vous utilisiez une clé privée ssh protégée par mot de passe (https://stackoverflow.com/q/46627127/6309) – VonC