Does Windows cache SSH keys?

I recently posted a question regarding Git Bash referencing an old GitHub account username. Refer to that post here: Original Post

Now I’m completely convinced that Windows is somehow storing my ssh info and using that for my Git bash session. When ever I try to push to a remote repo, it keeps stating that

remote: Permission to MYUSERNAME/project.git denied to OLD-USER-NAME

I’ve changed everything I could. I have searched every directory I could looking for any reference of my old username and can’t find anything. I have repeated the SSH key generation process at least 3 times with no luck. Why does it keep bringing up my old username?

So my question, does Windows have some type of caching system for ssh keys? Even though I am explicitly loading my new key, it keeps bringing up reference to my old user name. The only thing I can think is that my ssh agent isn’t using my new key, and then when it attempts to connect to github, it sees the old key and associates it with my old username. But again, it doens’t make sense due to the fact that I deleted the old key from my old GitHub account…

I’m about to kill Git..

  • Xcode - Authentication failed error when adding repository with SSH auth
  • fatal: fetch-pack: unable to fork off sideband demultiplexer
  • Save GIT Credentials using Git Credential Manager for Windows - Not working
  • “ version 'OPENSSL_1.0.1' not found ” during shell_exec
  • Cannot push to github, ssh: Could not resolve hostname
  • How to give friend access to git repository without giving command line access?
  • Does Git Bash determine identify by ssh key?
  • Host verification failed error when running git clone inside dockerfile on AWS EC2 instance as host and a private git repository
  • One Solution collect form web for “Does Windows cache SSH keys?”

    I think the key here is that you might be using HTTPS to clone the new repository which in turn does not use the SSH keys at all for authentication.

    I suspect that your credentials are being cached by the credentials helper. See this:

    On windows, if you’ve used the wincred helper (git config --global credential.helper wincred), then this stores your credentials in the Windows credential store which has a Control Panel interface where you can delete or edit your stored credentials. See this for instance:

    enter image description here

    With this store, your details are secured by your Windows login and can persist over multiple sessions. This was added in Git for Windows

    So either:

    1. Try clearing the credential cache for your https cloned repo using the following and try again:

      git credential-osxkeychain erase protocol=https


    1. Edit the credentials using the Windows control panel’s Credential Manager.

    And then try pushing to your HTTPS-cloned repository again when you should get prompted for authentication details again.

    Git Baby is a git and github fan, let's start git clone.