J'essaie de cloner un dépôt de mon compte BitBucket sur mon ordinateur portable Windows 10 (exécutant GitBash). J'ai terminé toutes les étapes nécessaires pour me connecter (configuration de ma clé SSH, vérifiée par SSHing [email protected], etc.). Cependant, chaque fois que je tente de cloner un repo, l'invite raccroche continuellement après avoir confirmé que je souhaite mettre en cache la clé de Bitbucket.
User@Laptop MINGW64 /C/Repos
$ git clone [email protected]:mygbid/test.git
Cloning into 'test'...
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n) y
Aucun fichier n'est cloné et le résultat est un dépôt vide. Essayer d'initier un maître d'origine git pull à partir de ce dépôt demande également de mettre en cache la clé, puis se bloque sans retour. Bien que je ne demande pas que la clé soit mise en cache lorsque je fais un test SSH, les opérations git demandent toujours la clé à chaque fois avant d'échouer.
En l'absence de messages d'erreur avec lesquels travailler, je ne sais vraiment pas ce qui ne va pas. J'ai essayé plusieurs dépôts, y compris de très petits, sans aucun succès.
putty
pour ajouter unegithub
clé dans le cache a fonctionné pour moibitbucket.org
)la source
Pour ce faire à partir de PowerShell, ouvrez une fenêtre PowerShell et collez ce qui suit:
ou avec la version autonome de PuTTY:
Il convient également de savoir que putty stocke les hôtes connus sous une clé de registre :
Pour raccourcir ce qui précède, vous pouvez mettre ce qui suit dans un
.reg
fichier et l'exécuter:putty-hosts.reg gist
la source
FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey)
-P <port>
argument.J'ai réussi à le faire fonctionner en exécutant plink directement, après l'exécution de pageant, utilisez la commande plink directement -
plink.exe -agent -v [email protected]
puis après que cela fonctionne sans se bloquer.la source
Pour contourner ce problème, j'ai configuré GitBash pour utiliser plink avec
-batch
option. L'option désactive toutes les invites - le plink se terminera sans se bloquer et n'ajoutera aucune empreinte digitale clé au cache.Pour ajouter un
-batch
paramètre à la commande plink exécutée par GitBash, vous pouvez définir une option git config:Ou définir
GIT_SSH_COMMAND
la variable d'environnement.La sortie lorsque vous clonez un dépôt à partir d'un hôte inconnu sera similaire à ceci:
Après ce message, vous pouvez ajouter une clé au cache avec la commande:
REMARQUE : veuillez vérifier si plink est dans votre
PATH
. Vous pouvez également utiliser un chemin de type UNIX dans l'option de configuration GitBash, par exemple:la source
Même après avoir effectué la solution de contournement mentionnée dans d'autres réponses, vous pouvez rencontrer une erreur telle que:
Pour résoudre les deux problèmes à la fois, changez git bash pour utiliser SSH au lieu de PuTTY en ajoutant ce qui suit à votre
~/.profile
fichier (C:\Users\<Username>\.profile
). Si vous ne possédez pas déjà ce fichier, créez un nouveau fichier avec cette ligne.Ensuite, ouvrez une nouvelle fenêtre git bash et essayez votre
git clone
ou àgit pull
nouveau.Notez que cela peut vous obliger à créer une clé SSH si vous n'en avez pas déjà une. Pour ce faire, suivez les instructions sur le site Bitbucket .
Voir cette question SO pour des informations connexes.
la source
Dans votre shell git bash, vérifiez l'existence de GIT_SSH:
echo $GIT<tab><tab>
s'il existe et est défini sur putty, exécutez:
unset GIT_SSH
vous voudrez probablement le mettre dans l'un des scripts de démarrage de git bash.
Ce n'est PAS une solution universelle. Cela a fonctionné dans notre cas particulier.
la source
Cela semble un peu idiot, mais après avoir essayé tout ce qui précède, j'ai décidé de réinstaller Git Bash avec les options par défaut et cela a fonctionné.
la source