Capistrano 使用了错误的用户来获取远程仓库。权限被拒绝(公钥)
Capistrano uses the wrong user to fetch remote repo. Permission denied (publickey)
我已经在 BitBucket 上配置了 public 密钥,它可以通过 SSH 运行,但是使用 Capistrano 它默认为错误的用户:
INFO [813163d1] Running /usr/bin/env git ls-remote --heads \
git@bitbucket.org:phec06/my-repo.git as **fedorius@localhost**
虽然它应该使用 config/deploy/production.rb
中指定的用户 ubuntu
:
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 的新手:(
使用 Capistrano 3.6.1 和 Rails 5,使用 Mac OS X
部署到 AWS Ubuntu
我认为这是您的 bitbucket 帐户的问题,或者您为该帐户使用了错误的 ssh 密钥。请仔细检查您是否以 **fedorius@localhost**
身份登录。尝试以下
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
ssh -T hg@bitbucket.org
找到解决方案。
原来我有点笨。我开始使用capistrano-scm-gitcopy
然后放弃了,但是我离开了
set :scm, :gitcopy
在我的 deploy.rb
上,删除这一行解决了问题。
我已经在 BitBucket 上配置了 public 密钥,它可以通过 SSH 运行,但是使用 Capistrano 它默认为错误的用户:
INFO [813163d1] Running /usr/bin/env git ls-remote --heads \
git@bitbucket.org:phec06/my-repo.git as **fedorius@localhost**
虽然它应该使用 config/deploy/production.rb
中指定的用户 ubuntu
:
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 的新手:(
使用 Capistrano 3.6.1 和 Rails 5,使用 Mac OS X
部署到 AWS Ubuntu我认为这是您的 bitbucket 帐户的问题,或者您为该帐户使用了错误的 ssh 密钥。请仔细检查您是否以 **fedorius@localhost**
身份登录。尝试以下
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
ssh -T hg@bitbucket.org
找到解决方案。
原来我有点笨。我开始使用capistrano-scm-gitcopy
然后放弃了,但是我离开了
set :scm, :gitcopy
在我的 deploy.rb
上,删除这一行解决了问题。