Ошибка развертывания Capistrano - Соединение закрыто удаленным хостом - Задачи: TOP => rbenv:validate

Capistrano не может развернуть мое приложение Ruby on Rails. Я не менял никаких файлов конфигурации (Capfile, deploy.rb и т. д.) с момента моего предыдущего успешного развертывания.

chris-iMac:untrackedlatest Chris$ cap production deploy --trace
** 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 deploy:set_rails_env (first_time)
** Execute deploy:set_rails_env
** Invoke deploy:set_rails_env 
** Invoke rbenv:validate (first_time)
** Execute rbenv:validate
DEBUG [eb8ce4ac] Running /usr/bin/env [ -d /usr/local/rbenv/versions/2.1.5 ] as [email protected]
DEBUG [eb8ce4ac] Command: [ -d /usr/local/rbenv/versions/2.1.5 ]
Text will be echoed in the clear. Please install the HighLine or Termios libraries to suppress echoed text.
[email protected]'s password:XXXX
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as [email protected]: connection closed by remote host
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:16:in `rescue in block (2 levels) in execute'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
Net::SSH::Disconnect: connection closed by remote host
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/packet_stream.rb:105:in `block in next_packet'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/packet_stream.rb:95:in `loop'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/packet_stream.rb:95:in `next_packet'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:183:in `block in poll_message'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:178:in `loop'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:178:in `poll_message'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:163:in `next_message'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:95:in `block in next_message'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:94:in `loop'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:94:in `next_message'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/methods/password.rb:25:in `authenticate'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:79:in `block in authenticate'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:66:in `each'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:66:in `authenticate'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh.rb:211:in `start'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/connection_pool.rb:50:in `call'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/connection_pool.rb:50:in `create_new_entry'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/connection_pool.rb:22:in `checkout'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:187:in `with_ssh'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:137:in `block in _execute'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:133:in `tap'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:133:in `_execute'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:62:in `test'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/capistrano-rbenv-2.0.3/lib/capistrano/tasks/rbenv.rake:10:in `block (3 levels) in <top (required)>'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:54:in `instance_exec'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:54:in `run'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:13:in `block (2 levels) in execute'
Tasks: TOP => rbenv:validate

Локальная рубиновая версия:

chris-iMac:untrackedlatest Chris$ ruby -v
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]

Удаленная рубиновая версия:

untracked@untrackedprod:/srv/untracked/current$ ruby -v
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]

Я ничего не менял в отношении ClientAliveInterval/ServerAliveInterval с момента предыдущего успешного развертывания.

Я могу успешно подключиться к серверу по SSH.

Камни Капистрано:

Using capistrano 3.4.0
Using capistrano-bundler 1.1.4
Using capistrano-passenger 0.0.5
Using capistrano-rails 1.1.3
Using capistrano-rbenv 2.0.3

Сервер работает под управлением Ubuntu 14.04.

Любая помощь будет высоко оценена!


person user3811886    schedule 13.05.2015    source источник
comment
вы можете запустить ssh [email protected] в терминале для подключения по ssh к удаленному серверу, если это не сработает, проверьте свой ключ ssh.   -  person pangpang    schedule 13.05.2015
comment
У меня возможно такая же проблема. В rbenv:validate ему внезапно требуется пароль, хотя он уже успешно подключился к серверу с помощью ключа за мгновение до этого. И не принимает правильный пароль. В прошлом развертывание работало отлично.   -  person Flemming Funch    schedule 17.05.2015


Ответы (2)


Это может быть неправильным решением, но для меня сработало запуск развертывания с новой вкладки/терминала. Я думаю, что требуется перезапуск оболочки.

person Swaps    schedule 10.10.2017

У меня такая же проблема. Я решаю эту проблему двумя шагами:

  1. Я просто добавляю одну строку в серверный файл ~/.ssh/authorized_keys, содержимое — мой локальный файл ~/.ssh/id_rsa.pub.
  2. Поскольку у меня есть две одинаковые учетные записи на моем Mac и VirtualBox VM, и я раскомментировал одну из них в файле сервера ~/.ssh/authorized_keys, все идет хорошо.

Удачи!

person wei dong    schedule 21.07.2015