【问题标题】:Dokku push resulting in broken pipe when deploying to Digital Ocean部署到 Digital Ocean 时,Dokku 推送导致管道损坏
【发布时间】:2014-01-25 23:03:49
【问题描述】:

我觉得这将归结为对 SSH 密钥的根本误解,但我似乎无法确定为什么我不能再将 git push dokku master 用于我在 Digital Ocean 上的 Dokku + Docker 设置。当我最初设置我的 droplet 时,我跟着this tutorial 到了一个发球台,并且我能够很好地部署到 Dokku,直到我在容器中四处寻找并以某种方式削弱了 Docker 和/或 Dokku(仍然试图理解这些...... .)。我怀疑这是无法修复的,但我变得不耐烦了,所以我只是擦掉了整个液滴并从头开始了教程。

然而,这一次,在以完全相同的方式备份所有内容后,我可以通过 SSH 访问“root@mydomain.com”,但我无法推送到 Dokku。相反,在等待永恒之后,我得到:

failed: Broken pipe 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights and the repository exists.

检查/var/log/auth.log 我看到确实建立了一个会话:

Jan  8 00:56:39 localhost sshd[19559]: Accepted publickey for dokku from 79.113.124.516 port 56067 ssh2
Jan  8 00:56:39 localhost sshd[19559]: pam_unix(sshd:session): session opened for user dokku by (uid=0)

我尝试过正面或反面this post,但无济于事。我觉得这一定与我清除了整个 VM 滴并替换它(但它仍然具有相同的 IP)这一事实有关。我从~/.ssh/known_hosts 中删除了连接,并在我第一次通过 SSH 连接到新实例时重新添加了它(效果很好)。我还关注了README steps 来配置 Dokku。没有。这对我来说很奇怪,因为我从来没有在第一轮做这些。有什么想法吗?

【问题讨论】:

  • 出于好奇,git remote -v 的输出是什么?此外,您提到您以 root 身份测试了 root,但日志显示登录为 dokku,因此您可能还需要仔细检查。

标签: git ssh ssh-keys docker digital-ocean


【解决方案1】:

我也遇到了同样的问题。

按照这里的教程进行操作:https://www.digitalocean.com/community/articles/how-to-use-the-dokku-one-click-digitalocean-image-to-run-a-ruby-on-rails-app

然后从我的本地计算机推送 git(其中我在开始时将 ssh 密钥添加到 dokku)所以我怀疑问题是您更改了密钥。

更新:我发现另一篇文章描述:

不要使用 ssh-copy-id:这将使用户可以完全访问您的服务器,并且他们将无法 git push,因为它使用 git 用户

https://medium.com/code-adventures/438bce155dcb

所以也许这就是问题所在?拥有服务器和 dokku 的公钥会导致推送代码出现问题?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-20
    • 2015-11-14
    • 2016-03-23
    • 2015-01-04
    • 2014-12-06
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    相关资源
    最近更新 更多