Я изучаю / создаю свое первое развертывание Capistrano.

Однако я столкнулся с проблемой еще до того, как смог заставить что-нибудь работать или даже протестировать.

Когда я запускаю любую команду, я получаю сообщение об ошибке.

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

Вот полный вывод отладки:

cap production deploy:check --trace
** Invoke production (first_time)
** Execute production
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke deploy:check (first_time)
** Invoke git:check (first_time)
** Invoke git:wrapper (first_time)
** Execute git:wrapper
00:00 git:wrapper
      01 mkdir -p /tmp
D, [2017-01-04T11:18:09.551896 #25214] DEBUG -- net.ssh.transport.session[119d510]: establishing connection to gate.paas.datacenter.fi:3022
D, [2017-01-04T11:18:09.589776 #25214] DEBUG -- net.ssh.transport.session[119d510]: connection established
I, [2017-01-04T11:18:09.590718 #25214]  INFO -- net.ssh.transport.server_version[119cd54]: negotiating protocol version
D, [2017-01-04T11:18:09.591139 #25214] DEBUG -- net.ssh.transport.server_version[119cd54]: local is `SSH-2.0-Ruby/Net::SSH_4.0.0 x86_64-linux-gnu'
D, [2017-01-04T11:18:09.604129 #25214] DEBUG -- net.ssh.transport.server_version[119cd54]: remote is `SSH-2.0-JSSHProxy'
I, [2017-01-04T11:18:09.605222 #25214]  INFO -- net.ssh.transport.algorithms[119c520]: sending KEXINIT
D, [2017-01-04T11:18:09.605828 #25214] DEBUG -- socket[119d1dc]: queueing packet nr 0 type 20 len 1140
D, [2017-01-04T11:18:09.606537 #25214] DEBUG -- socket[119d1dc]: sent 1144 bytes
D, [2017-01-04T11:18:09.606977 #25214] DEBUG -- socket[119d1dc]: read 400 bytes
D, [2017-01-04T11:18:09.607461 #25214] DEBUG -- socket[119d1dc]: received packet nr 0 type 20 len 396
I, [2017-01-04T11:18:09.607901 #25214]  INFO -- net.ssh.transport.algorithms[119c520]: got KEXINIT from server
I, [2017-01-04T11:18:09.608375 #25214]  INFO -- net.ssh.transport.algorithms[119c520]: negotiating algorithms
cap aborted!
Net::SSH::Exception: could not settle on compression_client algorithm
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh/transport/algorithms.rb:345:in `negotiate'
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh/transport/algorithms.rb:325:in `negotiate_algorithms'
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh/transport/algorithms.rb:200:in `proceed!'
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh/transport/algorithms.rb:149:in `accept_kexinit'
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh/transport/session.rb:210:in `block in poll_message'
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh/transport/session.rb:188:in `loop'
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh/transport/session.rb:188:in `poll_message'
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh/transport/session.rb:225:in `block in wait'
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh/transport/session.rb:223:in `loop'
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh/transport/session.rb:223:in `wait'
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh/transport/session.rb:88:in `initialize'
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh.rb:233:in `new'
/var/lib/gems/2.3.0/gems/net-ssh-4.0.0/lib/net/ssh.rb:233:in `start'
/var/lib/gems/2.3.0/gems/sshkit-1.11.5/lib/sshkit/backends/connection_pool.rb:59:in `call'
/var/lib/gems/2.3.0/gems/sshkit-1.11.5/lib/sshkit/backends/connection_pool.rb:59:in `with'
/var/lib/gems/2.3.0/gems/sshkit-1.11.5/lib/sshkit/backends/netssh.rb:155:in `with_ssh'
/var/lib/gems/2.3.0/gems/sshkit-1.11.5/lib/sshkit/backends/netssh.rb:108:in `execute_command'
/var/lib/gems/2.3.0/gems/sshkit-1.11.5/lib/sshkit/backends/abstract.rb:141:in `block in create_command_and_execute'
/var/lib/gems/2.3.0/gems/sshkit-1.11.5/lib/sshkit/backends/abstract.rb:141:in `tap'
/var/lib/gems/2.3.0/gems/sshkit-1.11.5/lib/sshkit/backends/abstract.rb:141:in `create_command_and_execute'
/var/lib/gems/2.3.0/gems/sshkit-1.11.5/lib/sshkit/backends/abstract.rb:74:in `execute'
/var/lib/gems/2.3.0/gems/capistrano-3.7.1/lib/capistrano/scm/tasks/git.rake:8:in `block (3 levels) in eval_rakefile'
/var/lib/gems/2.3.0/gems/sshkit-1.11.5/lib/sshkit/backends/abstract.rb:29:in `instance_exec'
/var/lib/gems/2.3.0/gems/sshkit-1.11.5/lib/sshkit/backends/abstract.rb:29:in `run'
/var/lib/gems/2.3.0/gems/sshkit-1.11.5/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
Tasks: TOP => deploy:check => git:check => git:wrapper
0
JanneS 4 Янв 2017 в 14:38
На самом деле, похоже, это как-то связано с прокси-сервером Jelastic SSH. Я пробовал ту же настройку с другим сервером, и все работало нормально. Я только что спросил об этом у своего хоста Jelastic, но все еще открыт для любых идей относительно моей собственной конфигурации
 – 
JanneS
4 Янв 2017 в 15:21

1 ответ

Лучший ответ

Попробуйте ssh -vvv your-ip, посмотрите логи. Используйте Compression_client в ssh-options следующим образом: set: ssh_options, { forward_agent: истина, Compression_client: "zlib" }

0
Vivek 4 Янв 2017 в 15:47
И это на сервере или на машине разработки?
 – 
JanneS
4 Янв 2017 в 17:00
Я запустил ssh -vvv node-user@gate.paas.jelastic.host -p 3022, но не нашел на выходе сжатие_client? Это бродячий виртуальный ящик, подключающийся к эластичному облаку.
 – 
JanneS
4 Янв 2017 в 17:04
Этот ответ был в основном правильным, поэтому я принимаю его. Мне пришлось установить compression: false в моем deploy.rake, чтобы отключить сжатие, так что теперь все работает нормально.
 – 
JanneS
5 Янв 2017 в 16:41