错误(internetKeychainItemForServer:withUsername:path:port:protocol :) - 在钥匙串中找不到指定的项目

tec*_*man 15 git macos keychain atlassian-sourcetree

我尝试使用Sourcetree将代码推送到github时出现以下错误:

Pushing to http://github.myOrg.com/my-repo/my-proj.git
2014-09-23 13:05:20.500 git-credential-sourcetree[6744:507] Error (internetKeychainItemForServer:withUsername:path:port:protocol:) - The specified item could not be found in the keychain.
remote: Permission to ion-my-repo/my-proj.git denied to my-user-id.
fatal: unable to access 'http://github.myOrg.com/my-repo/my-proj.git/': The requested URL returned error: 403
Run Code Online (Sandbox Code Playgroud)

当我点击推送时,sourcetree会要求我提供与我的帐户相关的密码:

Password required
For user my-user-id on host github.myOrg.com
Run Code Online (Sandbox Code Playgroud)

所以看起来sourcetree知道什么是我的用户ID,它只需要密码来访问我的github帐户.我能够使用sourcetree提取内容,它不会问我的凭据.我也能够推动这个项目,但最近我的系统管理员在我的mac上用钥匙链做了一些事情,从那以后我就无法在github上推送任何东西了.

有人之前遇到过这个问题吗?

jfc*_*ier 15

我遇到了完全相同的问题.似乎ssh代理人不知何故失去了我的凭据.当我尝试使用以下列表列出所有ssh密钥时,我意识到了terminal:

$ ssh-add -l
> The agent has no identities.
Run Code Online (Sandbox Code Playgroud)

所以我跑了

$ ssh-add ~/.ssh/my_rsa_key
Run Code Online (Sandbox Code Playgroud)

我输入了密钥的密码.问题消失了.

所以,我不知道为什么或者我的ssh代理突然失去了它的密钥,但是如果你遇到同样的问题,你可以通过使用ssh-add命令添加ssh密钥来解决.

这可能是那些有许多不同原因和解决方案的问题之一,我只是在为我的案例提出一个解决方案.