git – Clave de host del server no almacenada en la memory caching – Giro de Windows

Tengo un problema similar al de git: la key de host del server no está almacenada en caching , pero hay un giro que hace que la mejor solución no funcione.

El giro es que estoy tratando de clonar un repository de Stash, una aplicación de Atlassian como git-hub que nuestra empresa utiliza para almacenar sus repositorys Git. Después entro en mi key pública en Stash, yo uso Git Bash intentar clonar un repository de allí con la dirección de ssh me proporcionó por el sistema. Esto es lo que resulta:

$ git clone ssh://git@stash.mycompany.com:7999/teamproject/gitrepo.git Cloning into 'gitrepo'... 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 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:12 Connection abandoned. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 

Como no estoy usando masilla para tratar de conectar, probé la solución de conectarme al server con ssh:

 $ ssh ssh://git@stash.mycompany.com:7999/teamproject/gitrepo.git ssh: stash.mycompany.com:7999/teamproject/gitrepo.git: no address associated with name 

Si traté de acortar la dirección que ssh puede reconocer, obtengo una huella digital diferente de lo que git está rechazando:

 $ ssh ssh://git@stash.mycompany.com The authenticity of host 'stash.mycompany.com (10.XX.XXX.XX)' can't be established. RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:34. Are you sure you want to continue connecting (yes/no)? no Host key verification failed. 

Elijo no continuar conectando porque si me conecto, solo pone una input que no ayuda a git a hacer su trabajo en mi file known_hosts.

¿Alguien sabe cómo evitar este problema?

Tuve un colega que me dio una pista que eventualmente me ayudó a superar mi problema. La respuesta a la pregunta inmediata que publiqué anteriormente fue que no estaba dando a ssh el número de puerto en el formatting que esperaba. No especifica el número de puerto como este …

 ssh stash.mycompany.com:7999 

… pero más o less así:

 ssh -p 7999 stash.mycompany.com 

Esta syntax hizo que ssh me preguntara si quería almacenar el host en la list de hosts conocidos, y me dio la huella digital que Stash me había dicho que debía usar. (Después de que dije que sí, ssh colgó mi post de Git Bash y tuve que matar toda la session de Git Bash e iniciar una nueva. Pero al less el anfitrión ya había sido almacenado en el file known_hosts :))

Una vez superado ese problema, lo único que tenía que hacer era aplicar una solución en este hilo github: No hay methods de authentication compatibles disponibles , que era establecer la variable GIT_SSH en mi .bash_profile para el Git Bash

 export GIT_SSH=/bin/ssh.exe 

Después de hacer eso y reiniciar Git Bash, git comenzó a trabajar usando mi key ssh.