8

我在数字海洋上创建了一个带有 ubuntu 和 dokku 图像的水滴。我已按照教程部署我的应用程序,我还完成了将我的 ssh 密钥添加到 dokku的配置。现在,当我尝试“git push [name] master”时,我被要求输入“dokku@domain”密码。

4

6 回答 6

5

我也遇到了这个问题,因为我在多台机器上工作,所以即使我在登录时创建 droplet 之前将两个公共 ssh 密钥都上传到了数字海洋,如果我以用户身份登录,我可以在两台机器上这样做根',

但是,当我第一次使用

$ git remote add dokku dokku@my.server.url
$ git push dokku

就像我在关注的数字海洋指南中一样。

我发现用户“dokku”只在其授权密钥文件中加载了一个密钥。

所以这就是我所做的。在我的终端中,我使用$ cat ~/.ssh/id_rsa.pub了它将显示您的公共 ssh 密钥,我突出显示了整个内容并复制了它。

我以 root 身份登录到我的服务器,$ ssh root@my.server.url然后进入了 dokku 用户授权密钥文件夹$ cd /home/dokku/.ssh/

然后我现在在这个文件中打开它,$ nano authorized_keys我已经有一个密钥,但你可能没有。无论哪种情况,我都将我的 ssh-key 粘贴到该文件中并退出该文件。

从那里开始,如果我使用 dokku 用户推送,它不会要求输入密码,因为它已经识别了我的 ssh 密钥,所以我现在已经非常好了。顺便说一句,有一种方法可以将这一切简化为两个步骤,但有时我喜欢花很长的路要走,只是为了确保密钥确实进入了文件。

于 2014-09-15T19:22:32.210 回答
2

确保在本地计算机上添加 DigitalOcean Dokku 遥控器。如果您尝试将其添加到 DO 液滴上(是的,我犯了那个愚蠢的错误),您将被要求输入密码。

于 2014-10-04T18:06:12.283 回答
2

尝试在 DigitalOcean 控制面板中添加本地 SSH 密钥,然后删除旧的 droplet 并使用此密钥创建一个新的。现在,当您在浏览器中打开 droplet IP 时,您应该会看到带有密钥的 Dokku 设置页面,完成设置后 git push 应该可以工作。

于 2014-05-05T17:34:26.803 回答
0

我有同样的问题。我用了这个数字海洋教程

我是 Windows 8 用户。我发现我有两个错误:

  1. 所以我按照教程使用 puTTy 来生成我的公共和私人 SSH 密钥。尽管如此,当我使用命令提示符打开 Ruby on Rails 时,我发现我的公钥 (id_rsa.pub) 是错误的。您可以使用 git bash 更改它(允许 windows 用户使用 linux 终端)通过文本编辑器编辑文件(我更喜欢使用 vi ...命令在这里

  2. 按照适用于 Windows 的 SSH 教程,它不会告诉您修改 sshd_config 文件(此处链接到该教程)。它位于“第六步——锁定 Root SSH 仅访问密钥”。再次,使用 gitbash 通过您选择的文本编辑器编辑 sshd_config 文件,以确保它具有以下配置:PermitRootLogin without-password

这为我解决了它。希望对大家有帮助。

于 2014-08-11T13:10:48.410 回答
0

这发生在我身上。原因是我的 .ssh/id_rsa.pub 密钥与我在设置 Dokku 时使用的密钥不匹配。

我解决这个问题的方法是在 Dokku 服务器中创建一个新的密钥文件,粘贴我自己的SSH 密钥,然后运行:sudo dokku ssh-keys:add my_key_name /home/$USER/.ssh/my_key.pub

这会将您的密钥从给定路径中的文件添加到 Dokku 身份验证密钥文件。

于 2019-05-09T13:34:52.680 回答
0

这是上面@mkrinblk 描述的所有步骤的命令:

$> cat ~/.ssh/id_rsa.pub | ssh root@your.dokku.ip "sudo sshcommand acl-add dokku [description]"

于 2021-02-28T12:17:44.897 回答