Ruby on rails 4 Rails Capistrano 3:AWS EC2上的权限被拒绝(公钥)

Ruby on rails 4 Rails Capistrano 3:AWS EC2上的权限被拒绝(公钥),ruby-on-rails-4,amazon-ec2,bitbucket,capistrano3,Ruby On Rails 4,Amazon Ec2,Bitbucket,Capistrano3,我正试图通过bitbucket将我的rails(4.2)应用程序部署到AmazonEC2。我已经在服务器上添加了我的id\u new\u rsa.pubkey inauthorized\u key。还在我的bitbucket帐户中添加了相同的SSH密钥。使用这些命令为相同的密钥添加了代理eval“$(ssh-agent-s)”和ssh-add~/.ssh/id\u new\u rsa 通过使用这个id\u new\u rsa.pub键,我可以访问两个服务器(root和deploy),但是当我尝试

我正试图通过bitbucket将我的rails(4.2)应用程序部署到AmazonEC2。我已经在服务器上添加了我的
id\u new\u rsa.pub
key in
authorized\u key
。还在我的bitbucket帐户中添加了相同的SSH密钥。使用这些命令为相同的密钥添加了代理
eval“$(ssh-agent-s)”
ssh-add~/.ssh/id\u new\u rsa

通过使用这个
id\u new\u rsa.pub
键,我可以访问两个服务器(root和deploy),但是当我尝试部署我的应用程序时,会出现以下错误

我已经花了三天的时间来解决这个问题,但还没有找到解决办法。请帮忙

部署.rb

production.rb


就快到了,但还是缺少了一样东西。您对auth方法使用的
publickey
有点不正确。只需将以下内容添加到:ssh_选项中

auth_methods: ["publickey"]
这是EC2和capistrano的工作示例:

set :ssh_options, {
  forward_agent: true,
  user: fetch(:user),
  auth_methods: ["publickey"],
  keys: ["/path/to/key.pem"]
}

请确保对您的密钥文件授予0600权限。

差不多了,但缺少一点。您对auth方法使用的
publickey
有点不正确。只需将以下内容添加到:ssh_选项中

auth_methods: ["publickey"]
这是EC2和capistrano的工作示例:

set :ssh_options, {
  forward_agent: true,
  user: fetch(:user),
  auth_methods: ["publickey"],
  keys: ["/path/to/key.pem"]
}

确保对密钥文件授予0600权限。

您的服务器中是否有
USER
?是的,Evgeny。“部署”用户位于服务器中。我可以使用
ssh-T登录git@bitbucket.org
在服务器和我的本地计算机上。我尝试在EC2->Key Pairs上创建新的
.pem
文件,并将其添加到ssh\u选项canfigurations中。但仍然无法连接EC2和bitbucket存储库。您的服务器中是否有
用户
?是的,Evgeny。“部署”用户位于服务器中。我可以使用
ssh-T登录git@bitbucket.org
在服务器和我的本地计算机上。我尝试在EC2->Key Pairs上创建新的
.pem
文件,并将其添加到ssh\u选项canfigurations中。但仍然无法连接EC2和bitbucket存储库。