Capistrano使用错误的用户来获取远程仓库。权限被拒绝(公钥)

时间:2016-09-13 19:10:48

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

我在BitBucket上配置了公钥,它可以在SSH上运行,但是使用Capistrano它默认为错误的用户:

INFO [813163d1] Running /usr/bin/env git ls-remote --heads \
 git@bitbucket.org:phec06/my-repo.git as **fedorius@localhost**

虽然它应该使用ubuntu中指定的用户config/deploy/production.rb

server 'myserver.compute.amazonaws.com', user: 'ubuntu', roles: %w{app db web}

当我跑步时:

cap production deploy

它给了我:

DEBUG [813163d1]    Permission denied (publickey).
DEBUG [813163d1]    fatal: Could not read from remote repository.

我一整天都在寻找解决方案,而且我是卡皮斯特拉诺的新手:(

将Capistrano 3.6.1与Rails 5一起使用,使用Mac OS X部署到AWS Ubuntu

2 个答案:

答案 0 :(得分:0)

我认为这是您的bitbucket帐户存在的问题,或者您在该帐户中使用了错误的ssh-key。请仔细检查您是否以**fedorius@localhost**身份登录。试试以下

eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
ssh -T hg@bitbucket.org

答案 1 :(得分:0)

找到了解决方案。

原来我有点傻了。我开始使用capistrano-scm-gitcopy放弃了,但我离开了

set :scm, :gitcopy

deploy.rb上,删除此行可解决问题。