Git clone / pull continually freezing at “Store key in cache?”

前端 未结 8 643

I\'m attempting to clone a repo from my BitBucket account to my Windows 10 laptop (running GitBash). I\'ve completed all of the steps necessary to connect (set up my SSH key

相关标签:
8条回答
  • 2020-12-12 11:36

    Even after performing the workaround mentioned in other answers, you may encounter an error like:

    FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey)

    To solve both problems at once, change git bash to use SSH instead of PuTTY by adding the following to your ~/.profile file (C:\Users\<Username>\.profile). If you don't already have this file, then create a new file with this line.

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

    Then open a new git bash window and try your git clone or git pull again.

    Note that this may require you to create an SSH key if you don't already have one. To do this, follow the instructions on the Bitbucket site.

    See this SO question for related info.

    0 讨论(0)
  • 2020-12-12 11:37

    I had this problem when cloning a repo on Windows 10 too.

    I got around it by using the Putty GUI to SSH to the server in question (in your case: bitbucket.org) then clicked 'Yes' when the prompt asks if you want to save the server key to the cache. Running the clone command again then worked for me!

    0 讨论(0)
  • 2020-12-12 11:37
    1. Open Putty
    2. Type in the Host Name (like bitbucket.org)
    3. Click Open
    4. Click yes in the popup to cache the host key
    5. Close Putty
    0 讨论(0)
  • 2020-12-12 11:37

    To workaround this problem I configured GitBash to use plink with -batch option. The option disables all prompts - the plink will terminate without hanging and won't add any key fingerprint to cache.

    To add -batch parameter to plink command executed by GitBash you can set a git config option:

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

    Or set GIT_SSH_COMMAND environment variable.

    The output when you cloning a repo from unknown host will be similar to this:

    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.
    

    After this message you can add a key to cache with command:

    echo y | plink git@bitbucket.org
    

    REMARK: Please check if plink is in your PATH. Alternatively use UNIX-like path in the GitBash config option, e.g.:

    /c/Program\ Files/PuTTY/plink.exe -batch
    
    0 讨论(0)
  • 2020-12-12 11:38

    It sounds a bit silly, but after trying all of the above, I decided to reinstall Git Bash with default options and it worked.

    0 讨论(0)
  • 2020-12-12 11:45

    To do this from powershell open a powershell window and paste in the following:

    echo y | & 'C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe' -ssh git@github.com
    echo y | & 'C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe' -ssh git@gist.github.com
    echo y | & 'C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe' -ssh git@bitbucket.org
    

    or with PuTTY standalone version:

    echo y | & 'C:\Program Files (x86)\PuTTY\plink.exe' -ssh git@github.com
    echo y | & 'C:\Program Files (x86)\PuTTY\plink.exe' -ssh git@gist.github.com
    echo y | & 'C:\Program Files (x86)\PuTTY\plink.exe' -ssh git@bitbucket.org
    

    Also worth knowing is that putty stores known hosts under a registry key:

    HKEY_CURRENT_USER\SoftWare\SimonTatham\PuTTY\SshHostKeys
    

    To shortcut the above you could put the following in a .reg file and run it:

    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

    0 讨论(0)
提交回复
热议问题