我在数字海洋上创建了一个带有 ubuntu 和 dokku 图像的水滴。我已按照本教程部署我的应用程序,我还完成了将我的 ssh 密钥添加到 dokku的配置。现在,当我尝试“git push [name] master”时,我被要求输入“dokku@domain”密码。
6 回答
我也遇到了这个问题,因为我在多台机器上工作,所以即使我在登录时创建 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 密钥,所以我现在已经非常好了。顺便说一句,有一种方法可以将这一切简化为两个步骤,但有时我喜欢花很长的路要走,只是为了确保密钥确实进入了文件。
确保在本地计算机上添加 DigitalOcean Dokku 遥控器。如果您尝试将其添加到 DO 液滴上(是的,我犯了那个愚蠢的错误),您将被要求输入密码。
尝试在 DigitalOcean 控制面板中添加本地 SSH 密钥,然后删除旧的 droplet 并使用此密钥创建一个新的。现在,当您在浏览器中打开 droplet IP 时,您应该会看到带有密钥的 Dokku 设置页面,完成设置后 git push 应该可以工作。
我有同样的问题。我用了这个数字海洋教程
我是 Windows 8 用户。我发现我有两个错误:
所以我按照教程使用 puTTy 来生成我的公共和私人 SSH 密钥。尽管如此,当我使用命令提示符打开 Ruby on Rails 时,我发现我的公钥 (id_rsa.pub) 是错误的。您可以使用 git bash 更改它(允许 windows 用户使用 linux 终端)通过文本编辑器编辑文件(我更喜欢使用 vi ...命令在这里)
按照适用于 Windows 的 SSH 教程,它不会告诉您修改 sshd_config 文件(此处链接到该教程)。它位于“第六步——锁定 Root SSH 仅访问密钥”。再次,使用 gitbash 通过您选择的文本编辑器编辑 sshd_config 文件,以确保它具有以下配置:
PermitRootLogin without-password
这为我解决了它。希望对大家有帮助。
这发生在我身上。原因是我的 .ssh/id_rsa.pub 密钥与我在设置 Dokku 时使用的密钥不匹配。
我解决这个问题的方法是在 Dokku 服务器中创建一个新的密钥文件,粘贴我自己的SSH 密钥,然后运行:sudo dokku ssh-keys:add my_key_name /home/$USER/.ssh/my_key.pub
这会将您的密钥从给定路径中的文件添加到 Dokku 身份验证密钥文件。
这是上面@mkrinblk 描述的所有步骤的命令:
$>
cat ~/.ssh/id_rsa.pub | ssh root@your.dokku.ip "sudo sshcommand acl-add dokku [description]"