Git-kloon / pull bevriest voortdurend bij “Sleutel opslaan in cache?”

Ik probeer een repo te klonen van mijn BitBucket-account naar mijn Windows 10-laptop (met GitBash). Ik heb alle stappen voltooid die nodig zijn om verbinding te maken (mijn SSH-sleutel instellen, geverifieerd door met succes SSHing [email protected], enz.). Telkens wanneer ik echter een repo probeer te klonen, hangt de prompt voortdurend op nadat ik heb bevestigd dat ik de sleutel van Bitbucket in de cache wil plaatsen.

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

Er worden geen bestanden gekloond en het resultaat is een lege repo. Proberen om een ​​git pull origin master te initiëren vanuit deze repo vraagt ​​ook om de sleutel in de cache te plaatsen, en blijft dan hangen zonder feedback. Ondanks dat ik niet vraag om de sleutel in de cache te plaatsen wanneer ik een test-SSH doe, vragen git operations altijd om de sleutel voordat het mislukt.

Zonder foutmeldingen om mee te werken, weet ik echt niet wat er mis is. Ik heb meerdere repo’s geprobeerd, ook hele kleine, zonder enig succes.


Antwoord 1, autoriteit 100%

Ik had dit probleem ook bij het klonen van een opslagplaats op Windows 10.

Ik heb het omzeild door de Putty GUI te gebruiken voor SSH naar de server in kwestie (in jouw geval: bitbucket.org) en vervolgens op ‘Ja’ te klikken wanneer de prompt wordt gevraagd of je de serversleutel in de cache wilt opslaan. Het klooncommando opnieuw uitvoeren werkte toen voor mij!


Antwoord 2, autoriteit 60%

  1. Open Putty
  2. Typ de hostnaam in (zoals bitbucket.org)
  3. Klik op Openen
  4. Klik op ja in de pop-up om de hostsleutel in de cache te plaatsen
  5. Sluit stopverf

Antwoord 3, autoriteit 18%

Het is me gelukt om het werkend te krijgen door plink direct uit te voeren, nadat de pageant is gestart, gebruik je het plink-commando direct – plink.exe -agent -v [email protected]en daarna werkt git zonder vast te lopen .


Antwoord 4, autoriteit 14%

Om dit vanuit powershell te doen, opent u een powershell-venster en plakt u het volgende:

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]

of met PuTTY standalone versie:

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]

Ook het weten waard is dat stopverf winkels bekende hosts onder een registersleutel:

HKEY_CURRENT_USER\SoftWare\SimonTatham\PuTTY\SshHostKeys

Als u bovenstaande snelkoppeling wilt gebruiken, kunt u het volgende in een .reg-bestand plaatsen en uitvoeren:

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"

stopverf-hosts.reg kern


5, Autoriteit 3%

Om dit probleem vormde ik GitBash om gebruik te maken plink met -batchoptie omzeilen. De optie schakelt alle prompts – de plink zal beëindigen zonder op te hangen en zal geen vingerafdruk van de sleutel toe te voegen aan cache.

Om toe te voegen -batchparameter plink opdracht uitgevoerd door GitBash kun je git config optie in te stellen:

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

Of set GIT_SSH_COMMANDomgevingsvariabele.

De uitvoer wanneer u een repo van onbekende gastheer klonen zal er ongeveer zo uitzien:

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.

Nadat dit bericht kunt u een sleutel toevoegen aan cache met commando:

echo y | plink [email protected]

OPMERKING : Controleer of Plink is in je PATH. U kunt ook gebruik maken van UNIX-achtige pad in de config optie GitBash, bijvoorbeeld:.

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

6, Autoriteit 2%

Ook na het uitvoeren van de in andere antwoorden genoemde oplossing, kunt u een fout optreedt als:

Fatal error: Disconnected: geen ondersteunde verificatiemethoden beschikbaar (server gestuurd: publickey)

Om beide problemen in een keer, verandering git bash om gebruik te maken SSH in plaats van PuTTY op te lossen door het volgende toe aan uw ~/.profilebestand (C:\Users\<Username>\.profile). Als u dit bestand nog niet hebt, maak dan een nieuw bestand met deze lijn.

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

Open vervolgens een nieuw git bash venster en probeer je git cloneof git pullopnieuw.

Merk op dat deze u nodig heeft om een ​​SSH-sleutel te maken als je niet al een hebt. Om dit te doen, volg dan de instructies op de BitBucket website.

deze vraag SO voor verwante informatie.


7

Het klinkt een beetje dom, maar na het proberen al het bovenstaande, heb ik besloten om Git Bash opnieuw te installeren met de standaard opties en het werkte.


8

Als je KiTTYgebruikt (in plaats van PuTTY), heeft het -auto-store-sshkeyargument.

Je kunt dus GIT_SSH_COMMAND(of git config --global core.sshCommand) instellen op iets als c:/KiTTY/klink.exe -auto-store-sshkey.

De uitvoer bevat nog steeds informatie over de nieuwe sleutel en de vraag, maar wacht niet op het antwoord:

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 ssh-ed25519 key fingerprint is:
ssh-ed25519 255 2e:65:6a:c8:cf:bf:b2:8b:9a:bd:6d:9f:11:5c:12:16
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)
Autostore key is on

Other episodes