test generate windows git ssh version-control bitbucket

windows - generate - ¿Git clone/pull se congela continuamente en "Almacenar clave en caché?"



sourcetree (8)

  1. Masilla abierta
  2. Escriba el nombre del host (como bitbucket.org )
  3. Haga clic en Abrir
  4. Haga clic en Sí en la ventana emergente para almacenar en caché la clave del host
  5. Masilla Cercana

Estoy intentando clonar un repositorio de mi cuenta de BitBucket en mi computadora portátil con Windows 10 (ejecutando GitBash). He completado todos los pasos necesarios para conectarme (configurar mi clave SSH, verificado por SSHing [email protected], etc.). Sin embargo, cada vez que intento clonar un repositorio, el aviso se cuelga continuamente después de confirmar que quiero almacenar en caché la clave 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

No se clonan archivos y el resultado es un repositorio vacío. Intentar iniciar un maestro de origen de extracción de git desde este repositorio también solicita almacenar en caché la clave, luego se cuelga sin comentarios. A pesar de no pedir que se guarde en caché la clave cuando hago un SSH de prueba, las operaciones de git siempre piden la clave cada vez antes de fallar.

Sin mensajes de error con los que trabajar, estoy realmente perdido en cuanto a lo que está mal. He intentado múltiples repositorios, incluidos los muy pequeños, sin ningún éxito.


En su shell git bash, verifique la existencia de GIT_SSH:
echo $GIT<tab><tab>
Si existe y está configurado en masilla, ejecute:
unset GIT_SSH
Probablemente quieras poner esto en uno de los scripts de inicio de git bash.
Esta NO es una solución universal. Funcionó en nuestro caso particular.


Incluso después de realizar la solución mencionada en otras respuestas, puede encontrar un error como:

ERROR FATAL: desconectado: no hay métodos de autenticación compatibles disponibles (servidor enviado: clave pública)

Para resolver ambos problemas a la vez, cambie git bash para usar SSH en lugar de PuTTY agregando lo siguiente a su archivo ~/.profile ( C:/Users/<Username>/.profile ~/.profile ). Si aún no tiene este archivo, cree un nuevo archivo con esta línea.

GIT_SSH="/usr/bin/ssh.exe"

Luego abra una nueva ventana de git bash e intente su git clone git pull o git pull nuevamente.

Tenga en cuenta que esto puede requerir que cree una clave SSH si aún no tiene una. Para hacer esto, siga las instrucciones en el sitio de Bitbucket .

Vea esta pregunta SO para obtener información relacionada.


Logré que funcionara ejecutando plink directamente, después de ejecutar el concurso, use el comando plink directamente: plink.exe -agent -v [email protected] y después de que este git funcione sin plink.exe -agent -v [email protected] .


Para hacer esto desde powershell, abra una ventana de powershell y pegue lo siguiente:

echo y | & ''C:/Program Files (x86)/GitExtensions/PuTTY/plink.exe'' -ssh [email protected] echo y | & ''C:/Program Files (x86)/GitExtensions/PuTTY/plink.exe'' -ssh [email protected] echo y | & ''C:/Program Files (x86)/GitExtensions/PuTTY/plink.exe'' -ssh [email protected]

o con la versión independiente PuTTY:

echo y | & ''C:/Program Files (x86)/PuTTY/plink.exe'' -ssh [email protected] echo y | & ''C:/Program Files (x86)/PuTTY/plink.exe'' -ssh [email protected] echo y | & ''C:/Program Files (x86)/PuTTY/plink.exe'' -ssh [email protected]

También vale la pena saber que la masilla almacena hosts conocidos bajo una clave de registro :

HKEY_CURRENT_USER/SoftWare/SimonTatham/PuTTY/SshHostKeys

Para atajar lo anterior, puede poner lo siguiente en un archivo .reg y ejecutarlo:

Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER/SOFTWARE/SimonTatham/PuTTY/SshHostKeys] "rsa2@22:github.com"="0x23,0xab603b8511a67679bdb540db3bd2034b004ae936d06be3d760f08fcbaadb4eb4edc3b3c791c70aae9a74c95869e4774421c2abea92e554305f38b5fd414b3208e574c337e320936518462c7652c98b31e16e7da6523bd200742a6444d83fcd5e1732d03673c7b7811555487b55f0c4494f3829ece60f94255a95cb9af537d7fc8c7fe49ef318474ef2920992052265b0a06ea66d4a167fd9f3a48a1a4a307ec1eaaa5149a969a6ac5d56a5ef627e517d81fb644f5b745c4f478ecd082a9492f744aad326f76c8c4dc9100bc6ab79461d2657cb6f06dec92e6b64a6562ff0e32084ea06ce0ea9d35a583bfb00bad38c9d19703c549892e5aa78dc95e250514069" "rsa2@22:gist.github.com"="0x23,0xab603b8511a67679bdb540db3bd2034b004ae936d06be3d760f08fcbaadb4eb4edc3b3c791c70aae9a74c95869e4774421c2abea92e554305f38b5fd414b3208e574c337e320936518462c7652c98b31e16e7da6523bd200742a6444d83fcd5e1732d03673c7b7811555487b55f0c4494f3829ece60f94255a95cb9af537d7fc8c7fe49ef318474ef2920992052265b0a06ea66d4a167fd9f3a48a1a4a307ec1eaaa5149a969a6ac5d56a5ef627e517d81fb644f5b745c4f478ecd082a9492f744aad326f76c8c4dc9100bc6ab79461d2657cb6f06dec92e6b64a6562ff0e32084ea06ce0ea9d35a583bfb00bad38c9d19703c549892e5aa78dc95e250514069" "rsa2@22:bitbucket.org"="0x23,0xb9b88df3578371a7eb80c78bcda14fb30da436f11ca932a5fd5a8b6adfcc681df7a59cb4cb7ac966d9eac11daa38ebdbc0a6582a210ed4ee95a8d101c4abc925e942ab47535d64f9a5b3b68035c2ea1e900d709a1e8ea938718f532f9805a190446b92bac3040126225ae9d8374bc2008f106979d631734c7453f78c70091f4783b288869cb3c1941a784cd9baad823be27333833dc1f488a45b85952be75cf0a64965662302e3915378dcd5cfcd3ec903d804a29dff2fdf19df5deba4534b09e4dea6e44f152e339b3c43be98ddadfc56533192e216a3d673f00b4aa9cc9e7870acd8b6adb7e0feb77f2292fc2dede94819def3eb1e785541a06ab31ccf725f"

putty-hosts.reg gist


Para solucionar este problema, configuré GitBash para usar plink con la opción -batch . La opción deshabilita todas las indicaciones: el plink terminará sin colgarse y no agregará ninguna huella digital clave al caché.

Para agregar el parámetro -batch al comando plink ejecutado por GitBash, puede establecer una opción de configuración de git:

git config --global core.sshCommand "plink -batch"

O establezca la variable de entorno GIT_SSH_COMMAND .

El resultado al clonar un repositorio desde un host desconocido será similar a este:

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 Connection abandoned. fatal: Could not read from remote repository.

Después de este mensaje, puede agregar una clave al caché con el comando:

echo y | plink [email protected]

OBSERVACIÓN : Verifique si el plink está en su PATH . Alternativamente, use una ruta similar a UNIX en la opción de configuración de GitBash, por ejemplo:

/c/Program/ Files/PuTTY/plink.exe -batch


Suena un poco tonto, pero después de probar todo lo anterior, decidí reinstalar Git Bash con las opciones predeterminadas y funcionó.


También tuve este problema al clonar un repositorio en Windows 10.

Lo solucioné usando la GUI de Putty para SSH en el servidor en cuestión (en su caso: bitbucket.org) y luego hice clic en ''Sí'' cuando el mensaje le pregunta si desea guardar la clave del servidor en la memoria caché. ¡Ejecutar el comando clonar nuevamente y funcionó para mí!