3

我觉得这将归结为对 SSH 密钥的根本误解,但我似乎无法确定为什么我不能再git push dokku master在 Digital Ocean 上使用我的 Dokku + Docker 设置。当我最初设置我的 droplet 时,我按照本教程进行了 T 恤,并且能够很好地部署到 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)

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

4

1 回答 1

0

我也遇到同样的问题。

按照这里的教程: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 的公钥会产生推送代码的问题?

于 2014-01-16T09:57:40.210 回答