我在我的共享dreamhost帐户上有我的git repo。
当我从本地机器上推出时,这很有效。它会要求我提供密码。我也可以登录我的生产服务器(在Digital Ocean)并克隆此存储库。
但是当我尝试使用Capistrano进行部署时,我得到了这个错误
DEBUG [0d6a00ed] Permission denied (publickey,password).
DEBUG [0d6a00ed] fatal: The remote end hung up unexpectedly
更新:
我搜索了这个错误并看到了许多其他类似的问题和答案。他们中的大多数都连接到github以及如何上传ssh密钥来解决它。但由于我已经能够从服务器命令行克隆repo,我不明白这是怎么回事。但我是新手使用Capistrano所以我知道什么
答案 0 :(得分:1)
那么我在服务器上生成了一个ssh密钥。然后将此密钥上传到dreamhost服务器,如下所示
cat .ssh/id_rsa.pub | ssh user@domain.tld 'cat >> .ssh/authorized_keys'
(感谢这个http://casperfabricius.com/site/2008/09/21/keeping-git-repositories-on-dreamhost-using-ssh/)
瞧它有效。
我猜解决方案一直都在那里。我只是不明白为什么我可以在没有ssh密钥的情况下从命令行克隆它,但在使用Capistrano时需要一个?如果有人能解释它会很棒