2014-05-19 38 views
-1

我在我的共享Dreamhost账户上有我的仓库仓库。Capistrano从位于dreamhost上的git仓库部署

当我从本地计算机上推送时,此功能很好。它会询问我的密码。

我也可以登录到我的生产服务器(在Digital Ocean)并克隆这个存储库。

但是,当我尝试使用Capistrano的部署我得到这个错误

DEBUG [0d6a00ed] Permission denied (publickey,password). 
DEBUG [0d6a00ed] fatal: The remote end hung up unexpectedly 

UPDATE:

我搜索了这个错误,并看到许多其他类似的问题和答案。他们中的大多数都连接到github,以及如何上传ssh密钥来解决它。但由于我已经能够从服务器命令行克隆回购,我不明白这是怎么回事。但我是使用Capistrano的新手,所以我知道什么

+0

键入命令行'ssh-add'。 – matanco

+0

试图在服务器和我的开发机器上。没有解决任何问题 – Jepzen

回答

1

那么我在服务器上生成了一个ssh密钥。然后上传此键Dreamhost的服务器这样

cat .ssh/id_rsa.pub | ssh [email protected] 'cat >> .ssh/authorized_keys' 

(感谢这个http://casperfabricius.com/site/2008/09/21/keeping-git-repositories-on-dreamhost-using-ssh/

瞧它的工作原理。

我想这个解决方案一直都在那里。我只是不明白为什么我可以在没有ssh密钥的情况下从命令行克隆它,但在使用Capistrano时需要一个密钥?如果有人可以解释,这将是很好的