【问题标题】:Rails Capistrano 3: Permission denied (publickey) on AWS EC2Rails Capistrano 3:AWS EC2 上的权限被拒绝(公钥)
【发布时间】:2017-06-01 14:12:31
【问题描述】:

我正在尝试通过 bitbucket 在 Amazon ec2 上部署我的 rails (4.2) 应用程序。我在服务器上的authorized_keys 中添加了我的id_new_rsa.pub 密钥。还在我的 bitbucket 帐户中添加了相同的 SSH 密钥。使用这些命令eval "$(ssh-agent -s)"ssh-add ~/.ssh/id_new_rsa 为相同的键添加了代理

通过使用此 id_new_rsa.pub 密钥,我可以访问两个服务器(root 和部署),但是当我尝试部署我的应用程序时,出现以下错误。

我花了 3 天的时间来找出解决方案,但还没有运气。请帮忙。

deploy.rb

production.rb

【问题讨论】:

    标签: ruby-on-rails-4 amazon-ec2 bitbucket capistrano3


    【解决方案1】:

    差不多了,但是缺少东西。您对 auth 方法使用了 publickey 稍微不正确。只需将以下内容添加到您的 :ssh_options 中即可。

    auth_methods: ["publickey"]
    

    这是来自 EC2 和 capistrano 的工作示例:

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

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

    【讨论】:

    • 你的服务器中有USER吗?
    • 是的,叶甫根尼。 “部署”用户在服务器中。我可以在服务器和本地机器上使用ssh -T git@bitbucket.org 登录。我尝试在 EC2 -> Key Pairs 上创建新的 .pem 文件并添加到 ssh_option 配置文件中。但仍然无法连接 EC2 和 bitbucket 存储库。
    猜你喜欢
    • 2017-03-24
    • 2013-04-28
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多