Gitkraken 无法使用本地 SSH 代理

Gitkraken cannot use local SSH agent

我最近更改了我的 GitHub 用户名,当我尝试使用“身份验证”>“选择使用本地 SSH 代理”进行推送时,GitKraken 推送失败并出现以下错误:

Push Failed
Configured SSH key is invalid. 
Please confirm that it is properly associated with your git provider.

取消选择该选项会显示位于

的正确 private/public 密钥对
~/.ssh/id_rsa
~/.ssh/id_rsa.pub

并允许完成推送。

我也可以从 Eclipse 内部通过命令行推送而不会出错。存储库的 URL 指向我的新用户名。

到目前为止我已经检查了几件事:

ssh -T github.com

授予权限被拒绝

id_rsa.pub 的指纹与 Github 帐户中存在的密钥匹配。

以下命令提示 ssh 工具尝试 rsa 私钥,但被拒绝:

$ ssh -vT github.com
debug1: Offering RSA public key: /home/<user>/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/<user>/.ssh/id_dsa
debug1: Trying private key: /home/<user>/.ssh/id_ecdsa
debug1: Trying private key: /home/<user>/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

在这种情况下是什么导致 ssh -vT 失败,为什么它不能阻止 git push/pull 但在 GitKraken 尝试推送时失败?

对我来说,这是升级到 OSX Sierra 造成的。我必须执行

ssh-add -k ~/.ssh/id_rsa

(您可能必须将其替换为您正在使用的密钥的路径)。该命令将 ssh 密钥添加到 git 代理。有关详细信息,请参阅 GitHub Help Page about adding SSH Keys。 您可能必须将命令添加到某种设置文件中,该文件在启动时为 运行,因为 ssh 代理似乎不记得密钥(至少对我而言)。

帮助我解决问题的方法是转到 GitKraken 首选项并连接 Bitbucket 和 Github 并授权它们。

之后勾选 "general" 中表示使用本地 ssh 代理的方框。 (可能是

对于将来会来这里的人,我的情况是 pull/push 在 vsc 上工作,但 gitkraken 给我的消息是:没有 auth sock 变量。 我进入 file > preferences > SSH > unmarked use local SSH agent 然后它自动找到我的 id_rsa, ida_rsa.pub (如果需要你可以手动浏览和定位它们) 现在一切正常。

OS:拱门, gitkraken 版本:7.7.2