使用Capistrano部署Rails应用程序 - 权限被拒绝(publickey)

时间:2014-03-27 23:44:38

标签: ruby-on-rails amazon-web-services capistrano bitbucket

我正在尝试部署一个应用程序,当我运行cap deploy时:检查所有看起来很好,但是当我尝试部署它时,我得到以下错误:

Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
*** [deploy:update_code] rolling back
  * executing "rm -rf /var/www/app/releases/20140327233712; true"
    servers: ["IP"]
    [IP] executing command
    command finished in 676ms
Command git ls-remote git@bitbucket.org:user/app.git staging returned status code pid 5458 exit 128

我在我的服务器中生成了密钥(ssh-keygen -t rsa -C“lorem ..”),然后我在bitbucket中添加了这个密钥,但是我仍然遇到了权限问题。

修改

在deploy.rb文件中,我使用AWS创建新实例时生成的密钥,并将其保存到本地计算机:ssh_options [:keys] = [“/ Users / user / Documents / app。 pem“]然后我在我的服务器中生成了密钥并将其添加到Bitbucktet(”home / ubuntu / .ssh / id_rsa.pub“),所以我认为我需要添加本地密钥(”app.pem“) )机器到Bitbucket,但当我尝试这样做时,我得到了Bitbucket中的错误:无效的SSH密钥(ssh-keygen)。

1 个答案:

答案 0 :(得分:1)

确保capistrano进程连接到Bitbucket的用户可以访问您生成的私钥,并在尝试连接Bitbucket时传递它。

您收到的错误:Permission denied (publickey)是由于capistrano用于连接的私钥与您存储在Bitbucket中的公钥不匹配。