我在数字海洋上创建了一个带有ubuntu和dokku图像的小滴。我已经按照this教程部署了我的应用程序,我还完成了configuration将我的ssh密钥添加到dokku。现在,当我尝试" git push [name] master"我被问到" dokku @ domain"密码。
答案 0 :(得分:5)
我也有这个问题,因为我在多台机器上工作,所以即使我在创建Droplet之前将两个公共ssh密钥上传到数字海洋,但是当我登录时我可以在两台机器上执行此操作用户'root',
然而,当我第一次使用
进行推动时$ 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-key。 顺便说一句,有一种方法可以将所有这些简化为两个步骤,但有时候我还是喜欢这么做,只是为了确保密钥真正进入文件。
答案 1 :(得分:2)
尝试在DigitalOcean控制面板中添加本地SSH密钥,然后删除旧的Droplet并使用此密钥创建一个新的Droplet。现在,当您在浏览器中打开Droplet IP时,您应该看到带有密钥的Dokku Setup页面,完成设置后git push应该可以正常工作。
答案 2 :(得分:2)
确保在LOCAL计算机上添加DigitalOcean Dokku遥控器。如果您尝试在DO droplet上添加它(是的,我犯了那个愚蠢的错误),系统会要求您输入密码。
答案 3 :(得分:0)
我遇到了同样的问题。我使用了digital ocean tutorial
我是Windows 8用户。我发现我有两个错误:
所以我按照教程使用puTTy来生成我的公钥和私钥SSH密钥。尽管如此,当我使用命令提示符打开Ruby on Rails时,我发现我的公钥(id_rsa.pub)是错误的。您可以使用git bash(允许Windows用户使用linux终端)通过文本编辑器编辑文件来更改它(我更喜欢使用vi ...命令是here)
按照Windows的SSH教程,它不会告诉您修改sshd_config文件(链接到该教程here)。它位于“Step Six-Lockdown Root SSH Access to Keys Only”。再次使用gitbash通过您选择的文本编辑器编辑sshd_config文件,以确保它具有以下配置:PermitRootLogin without-password
这解决了我。希望它可以帮助你们。
答案 4 :(得分:0)
这件事发生在我身上。原因是我的.ssh / id_rsa.pub密钥与我设置Dokku时使用的密钥不匹配。
我解决此问题的方法是在Dokku服务器中创建一个新的密钥文件,粘贴我的自己 SSH密钥,然后运行:sudo dokku ssh-keys:add my_key_name /home/$USER/.ssh/my_key.pub
这会将您的密钥从给定路径中的文件添加到Dokku身份验证密钥文件中。
答案 5 :(得分:0)
这是上面@mkrinblk 描述的所有步骤的命令:
$>
cat ~/.ssh/id_rsa.pub | ssh root@your.dokku.ip "sudo sshcommand acl-add dokku [description]"