GitKraken上的无效SSH密钥

sha*_*nex 29 git gitkraken

好吧,所以我在另一个房间的服务器中的某个地方有一个git repo,我以前一直在使用SourceTree但是它对index.lock问题非常讨厌,显然这是大多数开发人员遇到的最常见问题SourceTree.虽然我发现如果我等待几分钟到半天它会自行解决,但我没有时间等待,我认为它完全违背了使用git客户端的目的.

但是,这不是关于SourceTree ...所以,我发现GitKraken,它看起来很酷,我从来没有index.lock的问题.唯一的问题是我无法推送到另一个房间的服务器.我配置了我的ssh密钥.我可以推/拉到github/bitbucket帐户,但不能下一个房间.如果您遇到过这样的问题,或者您对我如何解决问题有一点了解,请告诉我.我已经与支持团队取得了联系,但反应非常紧张.

gab*_*eio 35

似乎在我的Mac上,如果我不运行,ssh-add -k ~/.ssh/id_rsa那么我会得到关于有一个糟糕的ssh密钥的错误.

这似乎也适用于Ubuntu(18.04).

  • 或者,您可以将ssh-add -K〜/ .ssh / id_rsa放入〜/ .bash_profile中,它将自动加载 (2认同)

bee*_*ore 13

在macOS上,我有一个私钥/公钥对,GitKraken成功地使用它来推送到一个Bitbucket存储库。公钥文件〜/ .ssh / id_rsa.pub格式类似于Josh Patterson的答案:

ssh-rsa AAAAB3NzaC1yc2...8swZ0Ew==
Run Code Online (Sandbox Code Playgroud)

我创建了第二个bitbucket存储库。在某个时候gitKraken不再能够推送到第一个回购。我仍然可以从终端命令行git push到第一个仓库,手动输入密码。

GitKraken说:“配置的SSH密钥格式无效。请确保您的密钥有效,并且是RSA类型的密钥。”

类似于Coming Sun的答案,我去了GitKraken首选项/身份验证/常规。与Coming Sun的答案不同,我已经有一个私钥/公钥,并且不想生成新的密钥对。相反,我选择了“使用本地SSH代理”。这为我修复了GitKraken。

  • 谢谢您,“使用本地SSH代理”身份验证设置对我有用。 (4认同)

Jim*_*Aho 12

已经有很多答案了,我认为其中大多数都是很有帮助的。我仍将在此处添加更多信息,因为我认为没有任何答案可以完全解决问题。

这就是我从一开始就坐在MacOS上解决此问题的方法。

  1. 运行ssh-keygen以生成密钥。我确实提供了密码。
  2. 运行ssh-add -K ~/.ssh/id_rsa以将我的身份保存在本地ssh代理中。这个很重要。请在此处注意,它是大写的-K,这意味着我也想将密码短语也存储在本地ssh代理中,这将导致密码短语将我的密码短语存储在钥匙串中,因此我不需要一直重新输入密码,非常整洁!
  3. 在Gitkraken内部,转到“首选项->身份验证...->常规”
  4. 选中“使用本地SSH代理”。这将告诉Gitkraken在步骤2中使用我的代理。如果您不这样做,则Gitkraken将使用它自己的捆绑式ssh代理,我认为这是导致大多数人出现问题的原因
  5. 将您的~/.ssh/id_rsa.pub公钥添加到服务器(bitbucket.org,azure devops,github或w / e)。
  6. 现在,当您git fetch从终端执行操作或从Gitkraken执行git fetch时,两者都应该起作用。Gitkraken将使用您计算机上已配置的ssh代理,以成功对我们进行身份验证。

希望这会有所帮助。

更新:我还必须将其包含ssh-add -K ~/.ssh/id_rsa在内,~/.bash_profile以使其自动加载,否则,您将必须在每次重新启动计算机时运行该命令。


小智 9

  1. GitKraken - >首选项 - >验证 - >生成新的私钥/公钥;
  2. 将新公钥添加到您的git服务器.

  • 如果我想使用已经生成和配置的密钥怎么办? (6认同)