Estou tentando clonar um repositório da minha conta BitBucket para o meu laptop Windows 10 (executando o GitBash). Concluí todas as etapas necessárias para conectar-se (configurei minha chave SSH, verificada com êxito por SSHing [email protected], etc.). No entanto, sempre que tento clonar um repositório, o prompt é interrompido continuamente após a confirmação de que eu quero armazenar em cache a chave do 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
Nenhum arquivo é clonado e o resultado é um repositório vazio. Tentar iniciar um mestre de origem git pull a partir deste repositório também pede para armazenar em cache a chave e, em seguida, trava sem feedback. Apesar de não solicitar que a chave seja armazenada em cache durante o teste do SSH, as operações git sempre solicitam a chave todas as vezes antes de falhar.
Sem mensagens de erro para trabalhar, estou realmente sem saber o que está errado. Eu tentei vários repositórios, incluindo muito pequenos, sem nenhum sucesso.
putty
a adicionargithub
chave no cache funcionou para mimbitbucket.org
)fonte
Para fazer isso no PowerShell, abra uma janela do PowerShell e cole o seguinte:
ou com a versão independente PuTTY:
Também vale a pena saber que a massa de vidraceiro armazena hosts conhecidos sob uma chave de registro :
Para atalho acima, você pode colocar o seguinte em um
.reg
arquivo e executá-lo:putty-hosts.reg gist
fonte
FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey)
-P <port>
argumento para ela.Eu consegui fazê-lo executando o plink diretamente, depois que o concurso estiver em execução, use o comando plink diretamente -
plink.exe -agent -v [email protected]
depois que o git funcionar sem interrupção.fonte
Para solucionar esse problema, configurei o GitBash para usar o plink com a
-batch
opção A opção desativa todos os prompts - o plink terminará sem interrupção e não adicionará nenhuma impressão digital importante ao cache.Para adicionar
-batch
parâmetro ao comando plink executado pelo GitBash, você pode definir uma opção de configuração do git:Ou defina
GIT_SSH_COMMAND
a variável de ambiente.A saída ao clonar um repositório de host desconhecido será semelhante a esta:
Após esta mensagem, você pode adicionar uma chave ao cache com o comando:
OBSERVAÇÃO : Verifique se o plink está no seu
PATH
. Como alternativa, use o caminho semelhante ao UNIX na opção de configuração do GitBash, por exemplo:fonte
Mesmo depois de executar a solução alternativa mencionada em outras respostas, você pode encontrar um erro como:
Para resolver os dois problemas ao mesmo tempo, altere o git bash para usar o SSH em vez do PuTTY adicionando o seguinte ao seu
~/.profile
arquivo (C:\Users\<Username>\.profile
). Se você ainda não possui esse arquivo, crie um novo arquivo com esta linha.Em seguida, abra uma nova janela git bash e tentar a sua
git clone
ougit pull
novamente.Observe que isso pode exigir que você crie uma chave SSH se ainda não tiver uma. Para fazer isso, siga as instruções no site Bitbucket .
Veja esta pergunta para obter informações relacionadas.
fonte
No shell do git bash, verifique a existência de GIT_SSH:
echo $GIT<tab><tab>
Se ele existe e está definido como putty, execute:
unset GIT_SSH
Você provavelmente desejará colocar isso em um dos scripts de inicialização do git bash.
Esta não é uma solução universal. Funcionou no nosso caso particular.
fonte
Parece um pouco bobo, mas depois de tentar todas as opções acima, decidi reinstalar o Git Bash com as opções padrão e funcionou.
fonte