GitKraken Push Error: SSH could not write data

GitKraken Push Error: SSH could not write data

尝试在 GitKraken 中推送更改时出现错误(如下所示)。


这是一个分叉的项目,我过去一直能够完美地推动。自上次以来发生的变化是我从远程分支(原始 repo)拉入并合并了一个更新。

有人遇到过这种情况吗?知道什么阻止了推送吗?

谢谢

似乎通过提交将更改从另一台机器推送到 'flush'。不同的机器成功地推送了更改,这样做之后,原始机器也可以再次推送。

希望这个变通办法可以帮助将来的人。

所以如果这个答案对像我这样的其他人没有帮助,我想出来了。

  1. 制作一个新的 ssh 密钥。
  2. https://www.ssh.com/ssh/putty/download
  3. 安装 PuTTY 工具
  4. 运行 PuTTYgen。
  5. 在 "Conversions" 选项卡下 select 导入密钥,以及 select 您的私人 ssh 密钥。
  6. 保存私钥。
  7. 在您的工具栏(靠近时钟)双击 Pageant。
  8. 添加我们刚刚制作的私钥。
  9. 在 gitkraken 下 "preferences/Authentication/Bitbucket.org" 连接到 bit bucket,然后按两个蓝色按钮,这会添加你的 private/public ssh keys(不是我们用 PuTTY 做的,那是一个 putty key ).
  10. 将 public 密钥添加到您的 bitbucket 帐户。

你应该一切顺利!

我在将 SSH 与 AWS codecommit 和 GitKraken 结合使用时遇到了这个问题,我不得不将用户名(IAM 中的 aws ssh 密钥 ID)添加到 SSH URL,如下所示:

ssh://用户名@git-codecommit.eu-west-1.amazonaws.com/v1/wibble/

克隆很好,因为它会提示输入用户名,但是当尝试拉取或推送时,它没有提示并且因无法 read/write 错误而失败

没有足够的代表对@Sam 的 post 发表评论,但如果您遇到使用 GitKraken 的 SSH 和 AWS codecommit 问题,或任何 SSH could not read/write data: 类错误,您可以强制执行GitKraken 使用您的 AWS 用户名。

首先确保 gitkraken 已关闭,以防万一!

在以下位置找到存储库的 git 文件:repo-root/.git/config。用你最喜欢的文本编辑器打开它,记事本就可以了!

在描述 [remote "origin"] 的部分下,您应该会看到一个 url = ...。确保内容为:url = ssh://YOUR_AWS_KEY@git-codecommit.us-west-2.amazonaws.com/v1/repos/YOUR_REPO_NAME.

确保 URL 正确的一个简单方法是进入代码提交,查看您的存储库,然后单击所需存储库旁边的 "SSH" link。它应该将该存储库的 SSH URL 复制到剪贴板。然后,只需在 ssh:// 之后和 git-codecommit 之前添加 "YOUR_AWS_KEY@"。

KEY NOTES:确保 URL 以 ssh:// 开头,后跟您的 ssh 密钥 ID,然后是 @,然后确保URL 不以 '.git' 结尾或 gitkraken 抛出 'invalid repository URL' 错误!

此处,"YOUR_AWS_KEY" 是在查看您的安全凭证时在您的 AWS IAM 中找到的 'SSH Key ID'。确保它是您当前计算机的 SSH 密钥!

来自@Sam 和@Jasper36 的答案将适用于 GitKraken,但当您再次尝试从 cli 中拉取时将打开一个新问题。

  1. 要允许 GitKraken 访问 git,请打开 my-project/.git/config 并将您的来源 url 修改为 url = ssh://username@git-codecommit.eu-west-1.amazonaws.com/v1/wibble/
  2. 要允许您的终端再次访问 git,运行 命令:ssh-add ~/.ssh/{my-wibble-key_rsa}

此示例用于 AWS codecommit 集成,但相同的主体将适用于与所有形式的 ssh 客户端的 ssh 连接。