【问题标题】:Rails 4 + Capistrano + AWS Net::SSH::AuthenticationFailed: deployRails 4 + Capistrano + AWS Net::SSH::AuthenticationFailed: 部署
【发布时间】:2016-07-13 23:16:20
【问题描述】:

我按照 this 教程使用 capistrano 部署我的 Rails 4 应用程序到 AWS 并且很难解决这个问题。

当我运行 cap production deploy 时,它失败并出现以下错误

Net::SSH::AuthenticationFailed: deploy

下面是完整的跟踪

** Invoke production (first_time)
** Execute production
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke bundler:map_bins (first_time)
** Execute bundler:map_bins
** Invoke rvm:hook (first_time)
** Execute rvm:hook
** Invoke rvm:check (first_time)
** Execute rvm:check
DEBUG [2439e1e0] Running ~/.rvm/bin/rvm version on 52.37.242.197
DEBUG [2439e1e0] Command: ~/.rvm/bin/rvm version
cap aborted!
Net::SSH::AuthenticationFailed: deploy
/home/pavan/.rvm/gems/ruby-2.2.3/gems/net-ssh-2.7.0/lib/net/ssh.rb:215:in `start'
/home/pavan/.rvm/gems/ruby-2.2.3/gems/sshkit-1.3.0/lib/sshkit/backends/connection_pool.rb:25:in `create_or_reuse_connection'
/home/pavan/.rvm/gems/ruby-2.2.3/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:173:in `ssh'
/home/pavan/.rvm/gems/ruby-2.2.3/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:126:in `block in _execute'
/home/pavan/.rvm/gems/ruby-2.2.3/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:123:in `tap'
/home/pavan/.rvm/gems/ruby-2.2.3/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:123:in `_execute'
/home/pavan/.rvm/gems/ruby-2.2.3/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:76:in `capture'
/home/pavan/.rvm/gems/ruby-2.2.3/gems/capistrano-rvm-0.1.2/lib/capistrano/tasks/rvm.rake:9:in `block (3 levels) in <top (required)>'
/home/pavan/.rvm/gems/ruby-2.2.3/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:54:in `instance_exec'
/home/pavan/.rvm/gems/ruby-2.2.3/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:54:in `run'
/home/pavan/.rvm/gems/ruby-2.2.3/gems/sshkit-1.3.0/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
Tasks: TOP => rvm:check

根据此SO 帖子,我尝试将net-ssh 锁定在2.7.0 和net-ssh-gateway 在1.2.0,但错误仍然存​​在。任何帮助表示赞赏。

环境:

操作系统 - Ubuntu 14.04 LTS

Ruby - 2.2.3p173

Rails - 4.2.5

Capistrano - 3.4.0

net-ssh - 2.7.0

net-ssh-gateway - 1.2.0

【问题讨论】:

  • 你的机器和服务器是如何认证的?
  • @Nithin 我正在使用此命令连接到服务器 ssh -i "/home/pavan/Downloads/myfile.pem" ubuntu@52.37.242.197

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


【解决方案1】:

Sparkmasterflex 正确回答了 net-ssh 的问题,但是虽然这会使 capistrano 正常工作,但它可能会破坏您的 rails 应用程序:
这些步骤为我固定了 capistrano 和 rails:

  1. 在您的 Gemfile 中添加 gem 'net-ssh', '2.7.0'
  2. 运行 bundle update net-ssh
  3. 运行包(只是为了确保一切正常'
  4. 运行 gem uninstall net-ssh -v 2.8.0

如果您是 rails 用户,您现在应该能够同时运行 rails 服务器和 capistrano。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 2016-08-29
    • 2013-03-15
    • 2016-01-02
    • 1970-01-01
    相关资源
    最近更新 更多