如何重置“ git credential-osxkeychain”中存储的凭据?


98

我已经按照GitHub上的说明设置了我的帐户,并且能够克隆,但是无法远程推送。

当我执行“ git push”时,出现403错误。它具有正确的URL。我尝试使用“ git credential-osxkeychain get”来查看它给出的内容,这会打印出错误的凭据。

我相信发生的事情是它第一次要求提供凭据,我以为这是另一个应用程序提出的请求,并且输入了错误的信息。

我只需要重置它,以便它为我的GitHub帐户使用正确的钥匙串项。

我试过了:

git credential-osxkeychain erase
git credential-osxkeychain set

该程序从不给出任何提示。如果我做的不正确,Set会说“输入错误”。我尝试放入“ password=password”等,但是当我执行“获取”时,我仍然得到旧的。

我不知道这些文件的存储位置,因为它们不在.gitconfigure中。此外,最近没有可能的钥匙串项目。(我的钥匙串中有几个GitHub帐户,它没有使用任何一个。)




Answers:


123

从终端:

 $ git credential-osxkeychain erase
 host=github.com
 protocol=https
 <press return>

注意:在上方输入“ protocol = https”后,您需要按~~ RETURN ~~ TWICE


2
出于某种原因,我在钥匙串应用程序中找不到任何Git / GitHub凭据,但这是可行的。谢谢!
唐纳德

4
由于这对我来说还不清楚:您必须在上方输入所有3行,然后再次按回车键-即,上面2/3行不是从命令输出,而是输入。
Frederik

这个答案帮助了我。非常感谢你!
肯·弗莱克,

70

我不确定如何通过命令行擦除,但是通过“钥匙串访问”应用程序进行擦除是相当容易的。只需转到应用程序->实用程序->钥匙串访问,然后输入“ github.com”。您可以使用应用程序删除无效的项目或更新密码。


4
如果有人从命令行了解了如何做的话,很高兴知道。
funroll

1
@funroll命令行工具为security。手册页指出它有一个delete-internet-password命令。
benzado 2014年

感谢您的更新,我相信这对某人有用。
funroll

这是最好的解决方案
Elias Fazel

来自哪个钥匙扣?
布赖恩·布莱斯

29

结果是这样的:

该命令git credential-osxkeychain正在使用我的钥匙串中的第一个 GitHub帐户条目。这不是可以访问相关项目的人。

我通过触摸Keychain Access中的帐户解决了该问题,以便其日期更改了(我想我刚刚更改了评论),现在它成为了最新的GitHub帐户,它成为了第一个返回到credential-osxkeychain的帐户,因此一切正常。

更好的支持多个GitHub帐户的形式会很好,但是大多数人可能只有一个主帐户,而不会遇到此问题。


2
我不确定这对同一主机上的多个用户如何工作,但是您可以签出ssh并使用~/.ssh/config文件而不是使用OSX钥匙串。如果您可能有多个用于不同主机的ssh键(以及相应的帐户),则使用此方法。 nerderati.com/2011/03/17/...
jusopi

10

如上所述,git-credential-osxkeychain将密码存储在Apple钥匙串中。

默认情况下,gitcredentials仅考虑域名。如果您希望Git考虑完整路径(例如,如果您有多个GitHub帐户),请按照http://git-scm.com/docs/gitcredentials.html所述将useHttpPath变量设置true为。请注意,更改此设置将再次要求您提供每个URL的凭据。


7

在Mac上,使用命令git credential-osxkeychain erase

或者从“ 应用程序” →“ 实用程序” →“ 钥匙串访问”从钥匙串中手动删除。然后删除github.com钥匙串。然后使用推;它将要求钥匙串访问;然后否认。

它将询问新的用户名和密码,添加它,然后为此推送一个文件。

之后git push,我发现这个错误。然后我使用大写问题:

remote:拒绝user2(以前存在user)对user1 / file.git的权限。致命:无法访问' https://github.com/xxxxxxxxxxxx/ ':请求的URL返回错误:403



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.