Does Windows cache SSH keys?
我最近发布了一个有关Git Bash引用旧GitHub帐户用户名的问题。请在此处参考该帖子:原始帖子
现在我完全相信Windows可以某种方式存储我的ssh信息,并将其用于我的Git bash会话。每当我尝试推送到远程存储库时,都会不断声明
1 | remote: Permission to MYUSERNAME/project.git denied to OLD-USER-NAME |
我已经尽力了。我搜索了每个目录,我可以找到我的旧用户名的任何引用,但找不到任何内容。我已经重复了至少3次SSH密钥生成过程,但是没有运气。为什么会继续显示我的旧用户名?
所以我的问题是,Windows是否为ssh密钥提供了某种类型的缓存系统?即使我明确地加载了我的新密钥,它仍然不断引用我的旧用户名。我唯一能想到的是我的ssh代理未使用我的新密钥,然后当它尝试连接到github时,它会看到旧密钥并将其与我的旧用户名关联。但同样,由于我从旧的GitHub帐户中删除了旧密钥,因此没有任何意义...
我要杀了Git ..
我认为这里的关键是您可能正在使用HTTPS克隆新的存储库,而该存储库又根本不使用SSH密钥进行身份验证。
我怀疑您的凭据被凭据帮助程序缓存。看到这个:
https://help.github.com/articles/caching-your-github-password-in-git/#platform-windows
在Windows上,如果您使用了wincred助手(
通过此存储,您的详细信息由Windows登录名保护,并且可以在多个会话中保留。这是在Windows 1.8.1.1的Git中添加的。
所以:
尝试使用以下方法清除https克隆的仓库的凭据缓存,然后重试:
git credential-osxkeychain擦除主机= github.com协议= https
要么,
然后在再次提示您输入身份验证详细信息时,尝试再次推送到HTTPS克隆的存储库。