Capistrano部署要求密码

时间:2016-02-19 22:34:15

标签: ruby-on-rails nginx ssh capistrano puma

DEBUG [414156db] Command: ( export GIT_ASKPASS="/bin/echo"
GIT_SSH="/tmp/sunwoo-blog/git-ssh.sh" ; /usr/bin/env git ls-remote --heads    git@github.com:sunwooz/Sunwoo-Blog.git )
DEBUG [414156db]    Enter passphrase for key

当我尝试使用capistrano部署到DigitalOcean Droplet时,我被要求输入密码,但我无法输入密码。我想我正确设置了SSH公钥/私钥,但我似乎无法找到解决方案。

我如何制作它以便在部署时不要求密码?

3 个答案:

答案 0 :(得分:0)

有问题的密码是SSH密钥上的密码。

您可以使用没有密钥(风险)的密钥,也可以使用SSH代理只输入一次,然后让代理处理它(推荐)。

答案 1 :(得分:0)

确保您没有在服务器上安装SSH私钥。正确的设置是让您的密钥在本地工作站上运行ssh-agent。当您运行Capistrano时,它会使用SSH与代理转发连接到您的服务器。

假设您的密钥已经添加到本地代理,那么转发应该处理所有事情。

答案 2 :(得分:0)

这让我很难过,但我的问题是SSH代理。

通过运行ssh-add -l

检查您是否已将密钥加载到SSH代理中

您应该看到类似的内容:

$ ssh-add -l 2048 af:ce:7e:c5:93:18:39:ff:54:20:7a:2d:ec:05:7c:a5 /Users/me/.ssh/id_rsa (RSA)

如果没有,请添加密钥:

$ ssh-add

这是文件:
http://capistranorb.com/documentation/getting-started/authentication-and-authorisation/#